Docmd.runsql

di
Anonimizzato10681
il
6 risposte

Docmd.runsql

Rieccomi con una nuova questione...
ho bisogno di fare un update di un record ad una determinata condizione

ho scritto

DoCmd.RunSQL " UPDATE [tb_inout] SET [tb_inout].uscita_ora = '" & Me.ora.Value & "'" & _
" WHERE ((([tb_inout].cf)=" & Me!CF & "));"

se gli paffo l'id, quindi numerico funziona se invece volessi passargli il codice fiscale come devo fare?

Perchè mi da errore la stringa sopra?

Grazie
Gianni

6 Risposte

  • Re: Docmd.runsql

    Mi hai ricordato il grande Puffo... quando hai scritto "io gli paffo"...

    Allora, ho un dubbio sul campo ORA, che di norma potrebbe essere NUMERICO e non TESTO
    quindi la sintassi sarebbe errata in quanto gli APICI servono proprio per un Campo di tipo TESTO come è appunto il CF...!
    Io l'avrei vista così:
    
    DoCmd.RunSQL "UPDATE [tb_inout] SET uscita_ora = " & Me.ora.Value & " WHERE cf='" & Me!CF & "'"
    Chiaramente se il campo ORA [uscita_ora] è realmente di tipo Testo metti gli APICETTI pure li...!
  • Re: Docmd.runsql

    Grazie..
    allora, la textbox dove visualizzo l'ora è di tipo ora estesa e il campo di riferimento nella tabella tb_inout è di tipo Data/ora...
    quindi come faccio?
    La cosa assurda è che io nel campo data scrivo correttamente se nel where gli passo l'id_per e non il cf... presumo quindi che sia il modo in cui passo il cf come condizione where..

    Gianni
  • Re: Docmd.runsql

    Prova a leggere questo:
    http://forum.masterdrive.it/microsoft-office-access-vba-23/vba-jet-tutorial-uso-campi-data-56461/
  • Re: Docmd.runsql

    Alex grazie per le info su come trattare le date... ma o (sicuramente) non capisco na mazza oppure mi sono spiegato male..
    il problema non siu verifica sulla data poichè se eseguo questo:

    DoCmd.RunSQL " UPDATE [tb_inout] SET [tb_inout].uscita_ora = '" & Me.ora.Value & "'" & _
    " WHERE ((([tb_inout].id_pers)=" & Me!id_pers & "));"

    il campo data (che è vuoto) della tb_inout viene correttamente individuato e scritto...

    Il problema si presenta se devo identificare il campo data non filtrando per id ma per codice fiscale utilizzando:

    DoCmd.RunSQL " UPDATE [tb_inout] SET [tb_inout].uscita_ora = '" & Me.ora.Value & "'" & _
    " WHERE ((([tb_inout].cf)=" & Me!CF & "));"

    Quindi come scrivere correttamente un sql update con un filtro sulk codice fiscale???

    Grazie Alex per l'aiuto.

    Gianni
  • Re: Docmd.runsql

    SONO UNA M....
    la risposta l'avevi già data nel tuo primo post.
    Che cecato disattendo...
    Grazie ho risolto!
  • Re: Docmd.runsql

    Ti erano scappati gli apicetti vero...???
    Ciao
Devi accedere o registrarti per scrivere nel forum
6 risposte