2

久しぶりの潜伏者、初めてのポスター。

5.1 ODBC ドライバーを介して Access 2010 に接続された mySQL テーブルがあります。mySQL テーブルを更新しようとしていますが、不思議なことに CurrentDb.Execute strSQL の最後に dbFailOnError を追加すると、テーブルが更新されなくなりますが、エラーはスローされません。私の VBA エディタは、すべてのエラーで中断するように設定されています。ルーチン内のすべてのエラー処理は、テスト用にコメントされています。

CurrentDb.Execute strSQLまたはDoCmd.RunSQL strSQLを使用すると、テーブルが更新されます。また、mySQL テーブルにはインデックスがあります。

SQL 文字列:

strSQL = "UPDATE clients
SET [DateLastAccessed] = " & lngDateAccessed & ",
[CountAccess] = " & intCountAccessed & "
WHERE [SerialHDD] = '" & strGetHDD & "' ;"

どんな助けでも大歓迎です。

4

1 に答える 1

2

"の最後に追加すると、テーブルが更新されなくなりますが、エラーはスローされませんdbFailOnErrorCurrentDb.Execute strSQL"

SetWarningsがオフになっていると、目に見えるエラーが表示されずに更新に失敗する可能性があります。SetWarningsupdate ステートメントを実行する直前にスイッチをオンにすると、異なる結果が得られるかどうかを確認します。

DoCmd.SetWarnings True
CurrentDb.Execute strSQL, dbFailOnError 
于 2012-12-19T15:56:30.257 に答える