Изглежда, че не преминавате към друг запис в набора от записи. Просто увеличавате i
не преминава към следващия запис. По-традиционен подход би бил да се повтори наборът от записи без нужда от другите ви променливи (i
и 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
РЕДАКТИРАНЕ След малко търсене попаднах на тази нишка което изглежда е подобно на вашия проблем. В долната част на нишката е направено предложение за промяна на настройките на ODBC за вашия MySQL DSN, като изберете раздела „Разширени“ и изберете опцията „Връщане на съвпадащи редове“. В публикацията също се казва да пуснете свързаната таблица и след това да я свържете отново към вашата база данни на Access. Не съм използвал Access с MySQL в миналото, така че нямам представа дали това ще работи или не, така че продължете с повишено внимание!
Можете също да опитате да промените своя набор от записи, за да използвате флага dbOptimistic за опцията за заключване на набор от записи, за да видите дали това изобщо помага:
set rs = CurrentDB.OpenRecordSet("qryMyQuery", DB_OPEN_DYNASET, dbOptimistic)