Visualizzazione dei risultati da 1 a 6 su 6

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2017
    Messaggi
    23

    problema con campo DATA vuoto

    Salve,
    ho un problema con l'inserimento di un record campo Data vuoto.

    la query SQL per l'aggiornamento dei dati è:
    codice:
    SQL = " UPDATE contratti Set data1 = #"& data1 &"#, importoassegno1 = '" & importoassegno1 & "', assegnonote1 = '" & assegnonote1a & "', data2 = #"& data2 &"#, importoassegno2 = '" & importoassegno2 & "', assegnonote2 = '" & assegnonote2 & "', data3 = #"& data3 &"#, importoassegno3 = '" & importoassegno3 & "', assegnonote3 = '" & assegnonote3 & "', data4 = #"& data4 &"#, importoassegno4 = '" & importoassegno4 & "', assegnonote4 = '" & assegnonote4 & "' WHERE idcontratto = " & idcontratto
    il problema è quando non inserisco niente in tutti o in uno dei campi data1, data2, data3, data4,

    mi da il seguente errore:
    Microsoft JET Database Engineerror '80040e07'
    Syntax error in date in query expression '##'.
    Come faccio a risolvere questo problema?
    Grazie

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    se non ci sono date da inserire inserisci NULL, in un campo di tipo data il valore "vuoto" con è contemplato
    oppure escludi il capo dalla query

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2017
    Messaggi
    23
    Se escludo il campo dalla query non potrò aggiornarlo successivamente.

    i campi vengono prelevati così
    codice:
    importoassegno4 = Replace(w_importoassegno4, ".", ",")	data4 = w_data4
    	assegnonote4 = Replace(w_assegnonote4, "'", "''")
    Ho provato a far inserire NULL se il campo è vuoto
    codice:
    if w_data4 = "" then	data4 = Null
    	else 
    	data4 = w_data4
    	End if
    però mi da lo stesso errore.

    se invece faccio così
    codice:
    if w_data4 = "" then	data4 = "Null"
    	else 
    	data4 = w_data4
    	End if
    mi da questo errore:
    Microsoft JET Database Engineerror '80040e07'
    Syntax error in date in query expression '#Null#'.

  4. #4
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    quando inserisci null devi modificare anche la variabile da inserire, quindi conviene creare un query dinamica:

    esempio pratico, dovrebbe essere abbastanza chiaro
    codice:
    ' costruisci la tua query e completala così: 
    If w_data4 <>"" Then
        SQL = SQL + "  campodata4=#"&w_data4&"#, "
    Else
        SQL = SQL + " campodata4=NULL ,"
    End If
    occhi all'ultimo campo che inserisci: rimuovi la virgola finale
    Ultima modifica di Vincent.Zeno; 27-01-2019 a 22:07

  5. #5
    Quote Originariamente inviata da Vincent.Zeno Visualizza il messaggio
    occhi all'ultimo campo che inserisci: rimuovi la virgola finale
    basta metterla prima che dopo

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2017
    Messaggi
    23
    Funziona!!!

    Grazie Vincent.Zeno !!!

    Ho creato la query per ogni campo data così:
    codice:
    If w_datass4 <> "" Then    datass4 = " datass4=#"& w_datass4 &"#, "
    	Else
        datass4 = " datass4=NULL ,"
    	End If
    ed ho richiamato la variabile (ho tolto la virgola perchè altrimenti dava errore):
    codice:
    SQL = " UPDATE contratti Set data1 = #"& data1 &"#, importoassegno1 = '" & importoassegno1 & "', assegnonote1 = '" & assegnonote1a & "', "& data2 &" importoassegno2 = '" & importoassegno2 & "', assegnonote2 = '" & assegnonote2 & "', "& data3 &" importoassegno3 = '" & importoassegno3 & "', assegnonote3 = '" & assegnonote3 & "', "& data4 &" importoassegno4 = '" & importoassegno4 & "', assegnonote4 = '" & assegnonote4 & "' idcontratto = " & idcontratto
    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.