Allora: quell'errore avevo sbagliato io a scrivere il codice.
Ora però quando eseguo la query mi restituisce un altro errore: "tipo di dati non corrispondenti nell'espressione CRITERIO".

Il codice che ho adattato alla mia tabella, ai miei campi e alla mia situazione è questo:

codice:
UPDATE vendite SET vendite.[string] = [string] & "9M"
WHERE (((vendite.ID) In (SELECT MAX(b.id) AS precedente FROM vendite AS a INNER JOIN vendite AS b ON b.id < a.id WHERE a.reso = -1 GROUP BY a.id)));
In pratica se nella tabella VENDITE un record ha il campo RESO a -1, la query deve aggiornare il record precedente aggiungendo al campo STRING il valore "9M"

Quando la eseguo, però mi da l'errore che ti ho descritto. Il campo STRING è in formato testo ovviamente.