Salve, non ho quasi nessunissima esperienza nel campo visual basic, stò tentando di eseguire una query con questo codice:

codice:
Private Sub IDLinea_BeforeUpdate(Cancel As Integer)
Dim ricorda As Integer
Dim nuovo As Integer
ricorda = IDLinea.OldValue
nuovo = IDLinea
If MsgBox("Sei sicuro di voler eseguire la modifica?" & ricorda & nuovo _
 , vbYesNo, "Modifica") = vbYes Then 
'Ricerca nelle altre tabelle e scrittura dei dati
DoCmd.RunSQL "UPDATE Macchina SET [ID Linea] = '&IDLinea&' WHERE [ID Linea] = '&IDLinea.OldValue&';" 
DoCmd.Save 
Else 
Cancel = True 
IDLinea.Undo 
End If 
End Sub
Il problema è che mi da l'errore: Tipo di dati non corrispondenti nell'espressione criterio
ho provato anche a creare quelle due variabili ricorda e nuovo ma l'errore è il solito
Perché se al posto delle variabili ci metto valori numerici mi funziona?