Aggiungo ulteriori informazioni per meglio formulare la domanda.

Ho dei programmi fatti con Visual Basic 5.0 che giravano bene con una vecchia versione di SQL Server. Adesso, avendo aggiornato le macchine ed il sw, ho installato MySQL. Questi programmi in vb ora non vanno più bene e devo mettere mano al codice per adattarlo al nuovo db.

La parte del codice interessata è questa:

Set MyDB = OpenDatabase(web_dns, True, False, "ODBC;DSN=web_dns; UID=utente;LoginTimeout=2; PWD=")
Set rstMyDB = MyDB.CreateDynaset("select * from tnstampe_min")
With rstMyDB
.MoveLast
.FindFirst "fileweb = '" & file_name_new & "'"
If .NoMatch Then

.AddNew

.Fields("TitoloID").Value = idtab
.Fields("Tempo_Esecuzione").Value = Format(Now, "yy-mm-dd hh:mm")
.Fields("fileweb").Value = file_name_new

.Update

End If
End With


Ho installato ovviamente il drive MyODBC (3.51) ed ho ricreato le connessioni ODBC.

Il collegamento riesce bene ma succede che quando viene eseguita l'istruzione Update mi da un messaggio d'errore dicendo che non è possibile aggiornare una tabella linkata.

La cosa strana è che se elimino l'istruzione .Fields("Tempo_Esecuzione").Value = Format(Now, "yy-mm-dd hh:mm") il record me lo aggiunge lasciando vuoto questo campo. Le cose vanno bene anche se nel db definisco il campo Tempo_Esecuzione come testo.

Perchè in un caso mi dice che non può modificare una tabella linkata e nell'altro lo fa tranquillamente?

Il metodo di connessione utilizzato è giusto e soprattutto è ancora attuale visto che si tratta di una realizzazione di 7 anni fa?

Grazie