sql >> Databáze >  >> RDS >> Mysql

Výsledkem DAO.Recordset.Update je zámek záznamu

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)



  1. Smazat všechny duplicitní řádky kromě jednoho v MySQL?

  2. Jak funguje funkce INSERT() v MariaDB

  3. Jak se dotazovat na pokračování vztahu mnoho k mnoha?

  4. Oracle After Delete Trigger... Jak se vyhnout Mutující tabulce (ORA-04091)?