クエリーを作らずにSQL文を実行する
 オブジェクトとしてクエリーを作らずに、VBAでその都度SQL文
を実行する方法です。
DatabaseオブジェクトのExecuteメソッドを利用します。


● サンプル ●

Sub SetNewStudent()
    Dim db As Database
    
    ' カレントデータベース セット
    Set db = CurrentDb
    
    ' 抽出ワークへ全学生をセット
    db.Execute "DELETE FROM t_抽出ワーク", dbFailOnError
    db.Execute "INSERT INTO t_抽出ワーク(個人ID)" & _
        " SELECT 個人ID FROM t_学生 ORDER BY 個人ID", dbFailOnError

    ' オブジェクト解放
    Set db = Nothing
End Sub


● 詳細 ●

 Executeメソッドの第2引数に指定する定数によって処理の内容が異なってきます。
 例えば(サンプルのように)、dbFailOnError を指定すると、エラーが発生時に更新
をロールバックします。指定がなければ、矛盾した更新でも実行されます。


● 補足説明 ●

  Access2000の場合、デフォルトではDAOに参照設定されていません。
  Visual Basic Editor(VBE)を開き、メニューの[ツール]−[参照設定]から、
Microsoft DAO 3.6 Object Libraryにチェックを入れて下さい。
  その際にMicrosoft ActiveX Data Object 2.1 Libraryよりも上に、DAOの
チェックを持ってきて下さい


Access97/2000



戻る


Excel Word Access VBA! モーグ