Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    function che non mi funziona

    ciao a tutti,

    stò costruendo una funzione da abbinare ad un carrello elettronico che mi calcoli le spese di spedizione in base al peso della merce, però non so per quale motivo mi restituisce sempre il valore della prima tariffa.

    la riporto pari pari:

    <%
    Dim peso_materiale, tariffa1, tariffa2, tariffa3, tariffa4, tariffa5
    Dim tariffa6, tariffa7, tariffa8
    Dim soglia1, soglia2, soglia3, soglia4, soglia5, soglia6, soglia7, soglia8

    '**** tariffe applicate da posteitalia
    tariffa1 = "2,80"
    tariffa2 = "3,20"
    tariffa3 = "3,25"
    tariffa4 = "4,05"
    tariffa5 = "4,15"
    tariffa6 = "6,35"
    tariffa7 = "8,35"
    tariffa8 = "12,50"

    '**** soglie di peso in grammi per le tariffe
    soglia1 = "20"
    soglia2 = "50"
    soglia3 = "100"
    soglia4 = "250"
    soglia5 = "350"
    soglia6 = "1000"
    soglia7 = "2000"
    soglia8 = "20000"

    Dim tariffa
    function tariffe(peso_materiale)

    if peso_materiale <=soglia1 then
    tariffa = tariffa1
    else
    if peso_materiale >soglia1 and peso_materiale<= soglia2 then
    tariffa = tariffa2
    else
    if peso_materiale >soglia2 and peso_materiale<= soglia3 then
    tariffa = tariffa3
    else
    if peso_materiale >soglia3 and peso_materiale<= soglia4 then
    tariffa = tariffa4
    else
    if peso_materiale >soglia4 and peso_materiale<= soglia5 then
    tariffa = tariffa5
    else
    if peso_materiale >soglia5 and peso_materiale<= soglia6 then
    tariffa = tariffa6
    else
    if peso_materiale >soglia7 and peso_materiale<= soglia8 then
    tariffa = tariffa7
    end if
    end if
    end if
    end if
    end if
    end if
    end if

    tariffe = tariffa
    end function
    %>

    apparentemente dovrebbe funzionare, ma non è così

    qualcuno può aiutarmi?
    grazie 1000 in anticipo.

  2. #2
    Ciao !

    sono le condizioni che sono troppo condizionate !!

    Io farei con select case
    inoltre poichè sono numeri non mettere i valori tra virgolette ..

    Select Case peso_materiale
    Case <20
    tariffa = tariffa1
    Case 20 to 50
    tariffa = tariffa2
    ...
    ...
    End Select

    mi sembra che per fare la continuità sia TO da 20 a 50 !!

    Steweb

  3. #3
    hai ragione!

    che scemo sono stato, a volte ci si perde in piccolezze e non ci si accorge delle cose più ovvie...il problema era proprio il fatto che i valori del peso non vanno tra virgolette essendo dei numeri!

    ti ringrazio anche per il suggerimento del CASE, so che è più indicato, ma appunto non conoscevo il TO da frapporre tra i 2 valori.

    ancora grazie!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.