Errore di Run-time '3075'

di Anonimizzato23675 il
6 risposte
Salve a tutti, sto sviluppando un'applicazione in Access, e mi sono imbattuta in questo errore che non riesco a risolvere.

Quello che il mio codice dovrebbe fare è importare un valore da una tabella excel, e poi aggiornare un campo in una maschera access inserendo quel valore. per sapere quale campo aggiornare, viene chiesto all'utente l'id del record di interesse. il valore dalla tabella excel viene importato, l'id viene letto, ma quando arrivo alla query per l'aggiornamento compare l'errore

Errore di run-time '3075':
Errore di sintassi (operatore mancante) nell'espressione della query '[Info Prova].ID Like 7a'

Di seguito il codice usato
Dim ExcelApp As Excel.Application
Set ExcelApp = CreateObject("Excel.Application")
Dim wkbk As Excel.Workbook
Set wkbk = ExcelApp.Workbooks.Open(FileName:="C:\Users\sabri\Desktop\VerificaPeriodicaRev5.xlsx")
Dim var As String
var = wkbk.Sheets(1).Range("B141").Value
MsgBox var
Dim query2 As String
Dim myID As String
myID = InputBox("Ripetere ID Prova:")
query2 = "UPDATE [Info Prova] " & "SET RISULTATO = " & var & " WHERE [Info Prova].ID Like " & myID & ";"
DoCmd.RunSQL (query2)
Nel momento in cui vado a cliccare Debug sull'errore, viene evidenziata l'ultima riga.

Qualcuno saprebbe aiutarmi?
Grazie mille in anticipo

6 Risposte

  • ID è numerico? Quindi dovrebbe essere

    =

    e non Like
  • Ottengo il valore immesso nella InputBox, in particolare per il test che sto facendo ho 7a, che leggo come stringa, in quanto il campo ID nella tabella iniziale è in formato testo breve.
  • Se è testo allora devi scrivere

    Like '7a'

    mancano i singoli apici, ovvero

    Like '" & myID & "';"

    Ma non ho capito perché ti serve il Like
  • Si, il problema erano i singoli apici attorno myID, adesso funziona. Grazie mille!
  • Se deve essere proprio '7a' allora basta = e non Like

    Se deve iniziare o terminare per 7a allora va usato il Like ma in modo diverso
Devi accedere o registrarti per scrivere nel forum
6 risposte