sql >> データベース >  >> RDS >> Mysql

DAO.Recordset.Updateはレコードロックになります

    レコードセット内の別のレコードに移動しているようには見えません。 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
    

    編集 少し検索した後、このスレッド に出くわしました。 これはあなたの問題に似ているようです。スレッドの下部で、[詳細設定]タブを選択し、[一致する行を返す]オプションを選択して、MySQLDSNのODBC設定を変更するように提案されています。投稿には、リンクされたテーブルを削除してからAccessデータベースに再リンクすることも記載されています。これまでMySQLでAccessを使用したことがないため、これが機能するかどうかはわかりません。注意して続行してください。

    レコードセットを変更して、レコードセットのロックオプションにdbOptimisticフラグを使用して、それがまったく役立つかどうかを確認することもできます。

    set rs = CurrentDB.OpenRecordSet("qryMyQuery", DB_OPEN_DYNASET, dbOptimistic)



    1. USER()とSYS_CONTEXT('USERENV'、'CURRENT_USER')の違いは何ですか?

    2. mysqlは通貨としてintを選択しますか、それともintを通貨形式に変換しますか?

    3. MySQLとMariaDBで安全な方法でスキーマ変更を実行する方法

    4. MySQLサブクエリを操作する方法