Det ser ikke ud til, at du flytter til en anden post i postsættet. Du skal blot øge i
flytter ikke til næste post. En mere traditionel tilgang ville være at iterere over postsættet uden behov for dine andre variabler (i
og rsCnt
).
Dim rs as DAO.Recordset
Set rs = CurrentDb.OpenRecordset("qryMyQuery", DB_OPEN_DYNASET)
rs.moveFirst
Do Until rs.EOF
rs.Edit
rs!FieldNameHere = "test"
rs.Update
rs.MoveNext
Loop
REDIGER Efter lidt søgen stødte jeg på denne tråd som ser ud til at svare til dit problem. I bunden af tråden er der lavet et forslag til at ændre ODBC-indstillingerne for din MySQL DSN ved at vælge fanen "Avanceret" og vælge muligheden for at "Returner matchende rækker". Indlægget siger også, at du skal droppe den linkede tabel og derefter linke den til din Access-database igen. Jeg har ikke brugt Access med MySQL tidligere, så jeg har ingen idé om, om dette vil virke eller ej, så fortsæt med forsigtighed!
Du kan også prøve at ændre dit recordset til at bruge dbOptimistic-flaget til recordset-låseindstillingen for at se, om det overhovedet hjælper:
set rs = CurrentDB.OpenRecordSet("qryMyQuery", DB_OPEN_DYNASET, dbOptimistic)