Visualizzazione dei risultati da 1 a 8 su 8

Discussione: condizione if...

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    163

    condizione if...

    Ho una situazione simile:
    Ricavo 3 variabili(2 delle quali sono date) da un form in questo modo

    citta=TRIM(Request("citta"))
    dal=cdate(TRIM(Request("dal")))
    al=cdate(TRIM(Request("al")))

    Poi faccio il test

    if (citta <> "") and (dal = "") and (al = "") then
    sql = sql + " citta like '%" & citta & "%'"
    end if

    In teoria se lascio le date vuote dovrebbe ricercare solo per città, invece se lo lancio mi da questo errore
    Tipo di errore:

    Errore di run-time di Microsoft VBScript (0x800A000D)
    Tipo non corrispondente: 'cdate'

    Qualcuno sa dirmi come risolvere il problema?

    GRAZIEEE...

  2. #2
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151

    Re: condizione if...

    Originariamente inviato da davide_web
    Ho una situazione simile:
    Ricavo 3 variabili(2 delle quali sono date) da un form in questo modo

    citta=TRIM(Request("citta"))
    dal=cdate (TRIM(Request("dal")))
    al=cdate (TRIM(Request("al")))

    Poi faccio il test

    if (citta <> "") and (dal = "") and (al = "") then
    sql = sql + " citta like '%" & citta & "%'"
    end if

    In teoria se lascio le date vuote dovrebbe ricercare solo per città, invece se lo lancio mi da questo errore
    Tipo di errore:

    Errore di run-time di Microsoft VBScript (0x800A000D)
    Tipo non corrispondente: 'cdate'

    Qualcuno sa dirmi come risolvere il problema?

    GRAZIEEE...
    ciao, il problema è dove ti ho evidenziato in grassetto..
    in pratica se alla funzione cdate non gli passi una data valida, ti da errore!!
    Jupy

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    163
    Ok funziona.Ho tolto i cdate.
    Ne approfitto per chiderti una cosa, per capire meglio...
    Ma togliendo i cdate fa operazioni come se fossero stringhe, no?
    Come fa a sapere che sono date?

  4. #4
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    se la stringa è una data corretta, quando serve viene fatta una conversione implicita...
    comunque per testare se è una data c'è la funzione IsDate(dataDaControllare) se è una data restituisce true, altrimenti false. Nel tuo caso potresti fare:
    codice:
    if (citta <> "") and not (isDate(dal) and isDate(al)) then 
       sql = sql + " citta like '%" & citta & "%'" 
    else
       ....
    
    end if
    eventualmente se vuoi fare la conversione delle date, una volta controllate che sono ok, nella tua query fai la conversione con cdate
    Jupy

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    163
    Grazie del suggerimento...Chiarissimo!!!

    Solo + una cosa...Per "data corretta" intendi in formato dd/mm/yyy?

    Grazie grazie...

  6. #6
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    intendo qualsiasi data sia nel formato italiano che americano!
    ad esempio, questa è una data corretta 31/01/2005 ma anche questa: 01/31/2005, mentre questa non è corretta: 31/31/2005
    Jupy

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    163
    Grande!!
    Alla prossima


  8. #8
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Jupy

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 © 2026 vBulletin Solutions, Inc. All rights reserved.