Microsoft Access Club >VBAのTips解説 >このページ >次頁 < 前項  サイト内検索
 

DAOを用いてSQLやアクションクエリーを実行する方法 : VBAのTips解説



Executeメソッド

Executeメソッドとは、開いているデータベースでアクションクエリーを実行するメソッドです。よって、レコードセットを返しません。アクションクエリー以外を実行するとエラーが発生します。このメソッドはDAO、ADOともに利用できます。

  • 書式

object.Execute source, options

  • 引数
引数 意味 指定
object クエリーを実行するDatabaseオブジェクト変数を指定します 省略不可
source SQLステートメントを指定します 省略不可
options クエリーの特性を表す定数または定数の組み合わせを指定します

省略可。
省略した場合は、矛盾が生じても実行されます

引数の設定値

  • 引数options
意味
dbDenyWrite ほかのユーザーに対して書き込みの権限を拒否します (Jet ワークスぺースでのみ使用可)
dbInconsistent 矛盾した更新を実行します (Jet ワークスペースでのみ使用可)。既定値です
dbConsistent 一貫性のある更新を実行します (Jet ワークスペースでのみ使用可)
dbSQLPassThrough SQLパススルー クエリーを実行します。(Jet ワークスペースでのみ使用可)
dbFailOnError エラーが発生すると更新をロールバックします (Jet ワークスペースでのみ使用可)
dbSeeChanges 編集中のデータをほかのユーザーが変更している場合、実行時エラーを発生させます (Jet ワークスペースでのみ使用可)
dbRunAsync クエリーを非同期クエリーで実行します(ODBCDirect の Connection、QueryDef オブジェクトでのみ使用可)
dbExecDirect SQLPrepare ODBC API 関数を呼び出さずにステートメントを実行します (ODBCDirect の Connection、QueryDef オブジェクトでのみ使用可)

関連項目

  1. Connectionメソッド(ADO)
  2. Excuteメソッド(ADO)

事例 ) DAOを用いて「性別」フィールドが男性であるレコードを削除する

DAOを用いて「性別」フィールドが男性であるレコードを削除します。

  1. テーブルを作成します。
  2. ID、生徒名、性別フィールドを作成します。
  3. 連結フォームを作成します。
  4. ID、生徒名、性別テキストボックスを作成します。
  5. 実行するコマンドボタンを作成します。

コマンドボタンクリック時イベントプロシージャの作成

コマンドボタンクリック時イベントプロシージャを以下のように作成します。

Private Sub 実行_Click()

   On Error GoTo エラー

   Dim db As DAO.Database
   Dim mySQL As String

   Set db = CurrentDb

   mySQL = "DELETE * FROM 名簿 "
   mySQL = mySQL & "WHERE 性別 = '" & "男性';" '--- A

   If MsgBox("性別が男性であるレコードを削除します。", vbYesNo) = vbYes Then
      db.Execute mySQL
      Me.Requery '--- B
   End If

   Set db = Nothing

   Exit Sub

エラー:

   If Err.Number = 3078 Then
      MsgBox "該当するテーブルがありません。"
   Else
      MsgBox Err.Number & " : " & Err.Description
   End If

   End Sub
解説
  1. 削除クエリーのSQLを作成します。
  2. 再クエリーを行い、結果を反映させます。

動作確認

  1. フォームをビューモードで開きます。
  2. [実行]ボタンをクリックします。

  1. 性別が男性であるレコードが削除されます。

ページの先頭へ 前ページへ戻る


DAOを用いてSQLやアクションクエリーを実行する方法 : VBAのTips解説


 

-Microsoft Access Club-

アメリカ合衆国の大手データセンターのアダルト対応可能なリーズナブル価格設定の専用・共有レンタルサーバーをご提供しています。
アメリカ合衆国の大手データセンターにサーバー機器を設置。
アダルト対応可能な専用・共有レンタルサーバーを提供。