Cari amici ho un grosso problema che mi sta togliendo la vita.
ho un progetto nel quale vado a creare e/o aggiornare un recordset (che poi è la riga di un documento)
Ora: per non stare tranquillo, ho voluto fare la versione ADO, in prospettiva di mettere il DB sotto sql su server farm, cambiando tutti i comandi di connessione, apertura etc. etc.
Problema:
In inserimento nessun problema.
Vado a modificare e mi da il maledetto errore
'Impossibile individuare la riga specificata per l'aggiornamento. E'
possibile che alcuni valori siano stati modificati dopo l'ultima
operazione di lettura'

connessione db:
Set dbarchivio = New Connection
Archivio.CursorLocation = adUseClient

Archivio.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" + Trim(percorso) + ";Jet OLEDB: Database Password=xxxxx"

per il recordset:

Set rsrigaordine = New ADODB.Recordset
rsrigaordine.Open Trim(documento) + "_RIGHE", Archivio, adOpenStatic, adLockOptimistic

rsrigaordine.AddNew

così, l'inserimento.

Per la modifica vario in:
Sql = "select * from " + Trim(documento) + "_RIGHE " _
& "where num_riga=" & nr & " and doc_id='" + Trim(codicedoc) + "' and azienda_id = " & testordine!AZIENDA_ID & " "
Set rsrigaordine = New ADODB.Recordset
rsrigaordine.Open Sql, Archivio, adOpenStatic, adLockOptimistic

A questo punto, se faccio subito un update, senza 'toccare' nessun campo, non da nessun errore, altrimenti, qualsiasi sia il campo che vario, anche se lo vario con lo stesso valore, all'UPDATE mi esce l'errore.
Da premettere che nella sezione dove lavoro con le anagrafiche (clienti, articoli) non ho questo problema e le stringhe comandi sono 'identiche'
Potrebbe essere un problema di qualche settaggio strano della tabella?
L'archivio è un DB Access 2002, con tabelle 'importate' da un DB SQL.

Grazie fin d'ora a chi mi aiuterà a risolvere questo dilemma (presumo già chi saranno i miei 2 angeli custodi)