Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 18 su 18

Discussione: Controllo per data

  1. #11
    per prima cosa (te lo dico per esperienza) nel db inserisci le date nel formato mm/gg/aaaa

    poi se la data non è inserita e intendi procedere comunque, puoi inserire il valore null

    es.
    codice:
    SQL = "Insert Into TabPreventivo (CARROZZERIA, PRIMA_IMMATRICOLAZIONE,TIPO_GUIDA) Values('"&carrozzeria&"',"
    
    
    if giorno="" OR mese="" OR anno="" then
     SQL=SQL&"null,"
    else
     SQL=SQL&"#"&prima_immatricolazione&"#,"
    End if
    
    SQL=SQL&"'"&tipo_guida&"')"

  2. #12
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708
    Ciao Grambo utilizzando la query parametrica riesco a far funzionare il tutto controllando persino due campi data/ora.

    Per informazione teorica se non volessi utilizzare la query parametrica il controllo per inserire il null nella data, è questo?:

    codice:
    if giorno="" and mese="" and anno="" then
    prima_immatricolazione = null
    Response.Write(prima_immatricolazione)
    else
    prima_immatricolazione=request.form("GIORNO")&"/"&request.form("MESE")&"/"&request.form("ANNO")'Data/ora da select composta
    Response.Write(prima_immatricolazione)
    End if
    
    SQL = "Insert Into TabPreventivo (CARROZZERIA, PRIMA_IMMATRICOLAZIONE,TIPO_GUIDA) Values(...'"&carrozzeria&"',#"&prima_immatricolazione&"#,'"&tipo_guida&"'.....)"
    Scusami ho un'ultima cosa...hai scritto:

    poi se la data non è inserita e intendi procedere comunque, puoi inserire il valore null
    invece se al mancato inserimento della data non volessi procedere, in questi casi cosa si fa?

  3. #13
    come hai scritto

    SQL = "Insert Into TabPreventivo (CARROZZERIA, PRIMA_IMMATRICOLAZIONE,TIPO_GUIDA) Values(...'"&carrozzeria&"',#"&prima_immatricolazi one&"#,'"&tipo_guida&"'.....)"

    non dovrebbe funzionare quando prima_immatricolazione=null

    se non vuoi continuare in caso di data non inserita puoi farlo tornare (response.redirect) alla pagina precedente segnalano l'errore, oppure quello che vuoi XD

  4. #14
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708
    ...mi sa che ho parlato troppo presto!

    Sia che inserisco la data o meno, col codice sotto, inserisce sempre null:

    codice:
    SQL = "Insert Into TabPreventivo (CARROZZERIA, PRIMA_IMMATRICOLAZIONE,TIPO_GUIDA) Values('"&carrozzeria&"',"
    
    if giorno="" OR mese="" OR anno="" then
     SQL=SQL&"null,"
    else
     SQL=SQL&"#"&prima_immatricolazione&"#,"
    End if
    
    SQL=SQL&"'"&tipo_guida&"')"
    quello che stampa a video è questo:

    codice:
    Insert Into TabPreventivo (USO_VEICOLO,ALIMENTAZIONE,CAVALLI_FISCALI,CARROZZERIA,PRIMA_IMMATRICOLAZIONE,TIPO_GUIDA,GENERE_PROPRIETARIO,ANNI_COMPIUTI) Values('promiscuo fino a 35 q.li','Diesel', 'fino a 8 (fino a 16 kw) - Benzina - B/GPL - B/Met. - Ibrida','Berlina 3 volumi',null,'1')
    Credo che ci sia qlc che non vada qui:
    codice:
    SQL=SQL&"#"&prima_immatricolazione&"#,"

  5. #15
    no sicuramente hai sbagliato a scrivere qualche variabile

    controlla che il controllo if venga eseguito correttamente sia con data errata che con data corretta

    EDIT: ovviamente la variabile prima_immatricolazione la devi riempire con la data

  6. #16
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708
    Ho fatto prove sia inserendo la data che non inserendola, cioè lasciando i campi vuoti, e mi inserisce sempre il null.

    Se tolgo dal controllo il "null", cioè se faccio così:

    codice:
    if giorno="" OR mese="" OR anno="" then
    '''''''''''''SQL = SQL&"null,"
    '''''''''''''else
    SQL=SQL&"#"&prima_immatricolazione&"#,"
    End if
    ...inserisce la data correttamente! Ovviamente se non inserisco i valori mi ridà l'errore!

    codice:
    Microsoft JET Database Engine error '80040e07'
    
    Syntax error in date in query expression '#00/00/#'.
    Mi sembra strana sta cosa, il codice è quello che sino adesso ho postato, cmq riposto le parti che riguardano la data cioè del campo prima_immatricolazione:

    codice:
    <tr>
    	<th>Prima immatr.</th>
    	<td colspan="6">
        <select name="GIORNO" id="GIORNO">
    		<option value="00">- Giorno -</option>
            <option></option>
    		<option value="01">01</option>
                      ...
    		<option value="31">31</option>
          </select>
      
      <select name="MESE" id="MESE">
            <option value="00">- Mese -</option>
            <option></option>
            <option value="01">gennaio</option>
                       ...
            <option value="12">dicembre</option>
          </select>
      
      <input name="ANNO" type="text" id="ANNO" size="4" maxlength="4" />
          Formato: gg/mm/anno</td>
    </tr>
    
    
    <%
    prima_immatricolazione=request.form("GIORNO")&"/"&request.form("MESE")&"/"&request.form("ANNO")'Data/ora da select
    
    SQL = "Insert Into TabPreventivo (USO_VEICOLO,ALIMENTAZIONE,CAVALLI_FISCALI,CARROZZERIA,PRIMA_IMMATRICOLAZIONE,TIPO_GUIDA) Values('"&uso_veicolo&"','"&alimentazione&"', '"&cavalli_fiscali&"','"&carrozzeria&"',"
    
    if giorno="" OR mese="" OR anno="" then
     SQL = SQL&"null,"
    else
     SQL=SQL&"#"&prima_immatricolazione&"#,"
    End if
    
    SQL=SQL&"'"&tipo_guida&"')"
    
    cn.Execute(SQL)
    
    cn.Close
    Set cn = Nothing
    %>

  7. #17
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708
    come mi ha suggerito Grambo, non valorizzavo le variabili, cioè:

    codice:
    .
    giorno=request.form("GIORNO")
    mese=request.form("MESE")
    anno=request.form("ANNO")
    Poi dichiarare questa varibile:

    codice:
    prima_immatricolazione=giorno&"/"&mese&"/"&anno'Data/ora da select
    ...così funziona!

    Grazie Grambo!

  8. #18

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.