ACCESS:フラグを消し去るVBA #4 DoCmd.RunSQL
- (2010-02-19 05:42:18)
「DoCmd.RunSQL」を使用。
SQL文は同じ構文そのまま。SQL実行方法をExecuteからDoCmd.RunSQLに変更。
DoCmd.RunSQLもオブジェクトだろうに、なぜかDoCmdは宣言もSetもCloseも解放も必要ない。ACCESS内部のコマンド体系でACCESSが起動されると常時ともにロードされているためか。
DoCmdは宣言もSetも必要ないのでコードの書き方としては一番シンプルで美しくわかりやすい。
SQLの記述->DoCmdでDoCmd.RunSQLメソッドの実行。
Private Sub フラグクリア_Click()
Dim SQL1 As String, SQL2 As String
'データ更新のためのSQL文(update テーブル名 set フィールド名 = 内容)とその実行(DoCmd.RunSQL)
SQL1 = "UPDATE [テーブル1] SET [フィールド1] = False, [フィールド2] = False"
SQL2 = "UPDATE [テーブル2] SET [フィールド3] = False, [フィールド4] = False"
DoCmd.SetWarnings False
DoCmd.RunSQL SQL1
DoCmd.RunSQL SQL2
End Sub
この記事は#4
ACCESS:フラグを消し去るVBA #5 スピード対決
ACCESS:フラグを消し去るVBA #4 DoCmd.RunSQL
ACCESS:フラグを消し去るVBA #3 Execute
ACCESS:フラグを消し去るVBA #2 Do Loop
ACCESS:フラグを消し去るVBA #1 消し忘れ