Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407

    Problema con condizione IF... THEN... END IF

    Ciao, scusate ho un problema con una condizione.

    Nel db ho questi tre valori:

    A=1.00
    B=1.00
    C=3.00

    Che mi restituiscono questa condizione:
    codice:
          <% strClassificazione = "700° C" %>
          <% strStato           = "XXX" %>
    Che è sbagliata, perchè:

    1) A è 1 e non è minore di 0.1;
    2) B è 1 e non è maggiore di 1;
    3) C invece va bene perchè è 3 ( > 1 < 4 )

    codice:
    <% 
       IF cDbl(objRs("A")) < 0.1 AND _
          cDbl(objRs("B")) > 1 AND _
          cDbl(objRs("C")) > 1 AND _
          cDbl(objRs("C")) < 4 then 
    %>
    Perchè con una sola condizione verificata mi restituisce come se fossero verificate tutte e tre?

    Grazie-

    <% strClassificazione = "700° C" %>
    <% strStato = "XXX" %>

    <% end if %>

  2. #2
    hai provato anche dividendo le condizioni?

    <%
    IF cDbl(objRs("A")) < 0.1 then
    if cDbl(objRs("B")) > 1 then
    if cDbl(objRs("C")) > 1 then
    if cDbl(objRs("C")) < 4 then

    strClassificazione = "700° C"
    strStato = "XXX"

    else
    response.write "c2 non verificata"
    end if
    else
    response.write "c1 non verificata"
    end if
    else
    response.write "b non verificata"
    end if
    else
    response.write "a non verificata"
    end if
    %>

    1.per vedere se così funziona
    2.per vedere dove sta l'eventuale errore anche se io sinceramente non ne vedo

  3. #3
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    ho provato ma mi sono incartato

    Devo realizzare una griglia di questo tipo e quindi prevedere tutte le condizioni che mi restituiscono la class giusta...:

    codice:
    A			B		C		Class
    non significativo		<0.1		<0.2		PD
    >1			0.1-0.5 		>1		D1
    0.6-2.5			0.1-1 		>2		D2
    non significativo		>1		<1		T1
    <0.1			>1 		1-4		T2
    <0.2			>1 		>4		T3
    Come posso fare?
    Grazie-

  4. #4
    scusami ma siccome non so praticamente nulla dei dati che hai ne di ciò che devi fare

    quello che ti serve è avere una cosa del genere ?

    <%
    if b<0.1 and c<0.2 then
    class="PD"
    end if
    %>

    per avere la prima riga?

  5. #5
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Originariamente inviato da Grambo
    scusami ma siccome non so praticamente nulla dei dati che hai ne di ciò che devi fare

    quello che ti serve è avere una cosa del genere ?

    <%
    if b<0.1 and c<0.2 then
    class="PD"
    end if
    %>

    per avere la prima riga?
    Esatto è questo che voglio, però secondo me si verificano nella tabella del db più condizioni contemporaneamente e forse per questo non funziona l'esatto abbinamento dati a+b+c con la class... :master:

  6. #6
    la seconda e la terza riga della tabella hanno valori uguali ovvero

    con valori di a tra 1 e 2.5
    con valori di b tra 0.1 e 0.5
    con valori di c >2

    che class è?

  7. #7
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    codice:
    A			B		C		Class
    non significativo		<0.1		<0.2		PD
    >1			0.1-0.5 		>1		D1
    0.6-2.5			0.1-1 		>2		D2
    non significativo		>1		<1		T1
    <0.1			>1 		1-4		T2
    <0.2			>1 		>4		T3
    Secondo le indicazioni sono due class diverse D1 e D2...

  8. #8
    Originariamente inviato da ubbicom
    codice:
    A			B		C		Class
    non significativo		<0.1		<0.2		PD
    >1			0.1-0.5 		>1		D1
    0.6-2.5			0.1-1 		>2		D2
    non significativo		>1		<1		T1
    <0.1			>1 		1-4		T2
    <0.2			>1 		>4		T3
    Secondo le indicazioni sono due class diverse D1 e D2...
    è quello che volevo dire ^.^
    comunque, se lo sviluppi riga per riga dovrebbe funzionare e quando hai più classi dovrebbe segnartele tutte

  9. #9
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Ho fatto questo ma segna sempre una sola class e per lo più sbagliata...

    Ad esempio:

    A=0.00
    B= 5.00
    C=0.00

    mi dice che la class è PD....

    codice:
    <%//CAS0 PD %>
    <% IF cDbl(objRs("B")) < 0.1 AND _
          cDbl(objRs("C")) < 0.2 then %>
    <% response.write objRs("Class") & "
    " %>   
    <% end if %>

  10. #10
    ok ho fatto delle prove ed ho capito o che non sappiamo usare cDbl() o che asp è impazzito

    cmq
    ho provato

    <%
    a=2.50
    b=0.1
    if cDbl(a) < cDbl(b) then
    response.write "falso"
    else
    response.write "vero"
    end if
    %>
    risultato sbagliato

    poi

    <%
    a=2.50
    b=0.1
    if 2.50 < 0.1 then
    response.write "falso"
    else
    response.write "vero"
    end if
    %>
    risultato sbagliato (quindi la matematica è un opinione )

    e infine ho provato così
    <%
    a=2.50
    b=0.1
    if cDbl(b) - cDbl(a) < 0 then
    response.write "falso"
    else
    response.write "vero"
    end if
    %>
    risultato corretto

    tira le somme

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.