Eseguire SQL in una Private Sub

di il
3 risposte

Eseguire SQL in una Private Sub

Ciao a tutti!
Ho due db in due file access diversi con due tabelle che hanno un campo uguale (campo1), e sto cercando di scrivere un qualcosa in VBA che mi permetta ogniqualvolta uno modifica i valori nel campo1 della tabella in db1 (in una sottomaschera), automaticamente riporta la modifica nel campo1 della tabella del db2.
Ho scritto un SQL che se eseguito a se stante sembra funzionare, e ora sto provando a implementarlo in una Sub della sottomaschera di questa tabella (con un po' di modifiche) per rendere tutto più automatico:
Private Sub campo1_BeforeUpdate(Cancel As Integer)
Dim strSQL As String
strSQL = "UPDATE tab_db2 INNER JOIN tab_db1 ON tab_db1.Id = tab_db2.Id SET tab_db2.campo1 = [Me.campo1.Value];"
DoCmd.RunSQL strSQL
End Sub
Ma mi dà errore sull'ultima riga...dove sto sbagliando per voi??
(se non mi sono spiegato chiedete pure... )

3 Risposte

  • Re: Eseguire SQL in una Private Sub

    Secondo te come può risolvere nella stringa SQL una cosa come questa:
    "[Me.campo1.Value]"...?

    Prova a modificare così
    
    strSQL = "UPDATE tab_db2 INNER JOIN tab_db1 ON tab_db1.Id = tab_db2.Id SET tab_db2.campo1 = " & Me.campo1.Value
    Ipotizzando che il [Campo1] sia numerico...
  • Re: Eseguire SQL in una Private Sub

    Uhm no..non è numerico...
  • Re: Eseguire SQL in una Private Sub

    gmaster ha scritto:


    Uhm no..non è numerico...
    Allora devi fare in modo che il suo valore sia racchiuso tra quotation mark ["]. Qualche & e chr$(34) (o equivalenti) in più invece di chiudere con
    ... & Me.campo1.Value
Devi accedere o registrarti per scrivere nel forum
3 risposte