sql >> Database teknologi >  >> RDS >> Mysql

DAO.Recordset.Update resultater i reckord lock

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)



  1. Opret ny tabel i eksisterende DB i separat SQLiteOpenHelper-klasse

  2. VLDB'er i de 20-teenagere:You're Gonna Need A Bigger ...

  3. Sådan finder du datoformatet, der bruges i den aktuelle session i SQL Server (T-SQL)

  4. Hvordan kan jeg vælge rækker i MySQL fra et givet rækkenummer?