Nezdá se, že se přesouváte na jiný záznam v sadě záznamů. Jednoduše zvýšíte i
nepřejde na další záznam. Tradičnějším přístupem by bylo opakování sady záznamů bez potřeby dalších proměnných (i
a 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
UPRAVIT Po chvíli hledání jsem narazil na toto vlákno který se zdá být podobný vašemu problému. Ve spodní části vlákna je navrženo upravit nastavení ODBC pro vaše MySQL DSN výběrem karty „Upřesnit“ a výběrem možnosti „Vrátit odpovídající řádky“. Příspěvek také říká, že je třeba zrušit propojenou tabulku a znovu ji propojit s databází Accessu. V minulosti jsem Access s MySQL nepoužíval, takže netuším, zda to bude fungovat nebo ne, takže postupujte opatrně!
Můžete také zkusit změnit svou sadu záznamů tak, aby používala příznak dbOptimistic pro možnost uzamčení sady záznamů, abyste zjistili, zda to vůbec pomáhá:
set rs = CurrentDB.OpenRecordSet("qryMyQuery", DB_OPEN_DYNASET, dbOptimistic)