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

DAOとSQLを用いて新規クエリを作成し実行する方法 : VBAのTips解説



SELECT 〜 FROM 構文

SELECT 〜 FROM 構文とは、FROMで指定したテーブルから、SELECTで指定したフィールドを選択するSQL構文です。

  1. SELECTに指定するフィールド数は、1つでも複数でも問題ありません。
  2. 表示するフィールドの順番は、SELECT以降で指定する順番になります。
  3. FROMはSELECTと同様に複数のテーブルを指定することもできます。
  4. Accessでデータを選択する「選択クエリー」がクエリーの基礎であるように、SQLではSELECT 〜 FROM 構文が基本になります。
  5. プロシージャ内でSQLを実行するには、DAO、ADOともにExecuteメソッドを用いますが、選択クエリーの場合はエラーが発生します。
  6. SELECT 〜 FROMを用いたSQLの場合は、RunSQLメソッド、OpenQueryメソッドを利用します。
  7. なお、Accessのプロシージャ内であれば、末尾のセミコロン(;)を省略することもできます。
  • 書式
SELECT fieldname FROM tablename
  • 引数
引数 意味 指定
fieldname フィールド名を指定します。複数の場合は、カンマ(,)で区切ります。 *を指定すると全フィールドを指定します 省略不可
tablename テーブル名を指定します 省略不可

関連項目

  1. CurrentDb(DAO)
  2. CreateQueryDefメソッド(DAO)
  3. Deleteメソッド(DAO、ADO)
  4. ActiveConnectionメソッド(ADO)
  5. Connectionオブジェクト(ADO)
  6. Appendメソッド(ADO)

事例 ) DAOを用いて選択クエリーを作成し実行する

DAOを用いて「請求情報リスト」クエリーを作成し、そのクエリーを実行する。

  1. 非連結フォームを作成します。
  2. 実行するコマンドボタンを作成します。

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

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

Private Sub 実行_Click()

   On Error GoTo エラー

   Dim db As DAO.Database
   Dim qdf As DAO.QueryDef
   Dim mySQL As String
   Dim strName As String

   Set db = CurrentDb
   strName = "Q_販売管理"
   mySQL = "SELECT 販売管理.*,CCur([売り掛け金]/105) "
   mySQL = mySQL & "* 100 AS 本体価格, * FROM 販売管理;"

   Set qdf = db.CreateQueryDef(strName, mySQL)
   DoCmd.OpenQuery qdf.Name '--- A
   db.Close: Set db = Nothing

   Exit Sub

エラー:

   If Err.Number = 3012 Then
      db.QueryDefs.Delete strName '--- B
      Resume
   Else
      MsgBox Err.Number & " : " & Err.Description
   End If

End Sub
解説
  1. OpenQueryメソッドを用いて、クエリーを実行します。
  2. 既に該当のクエリーが存在しているとエラーが発生しますので削除します。

動作確認

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

  1. 新規にクエリーが作成され、ビューモードで開きます。

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

 


DAOとSQLを用いて新規クエリを作成し実行する方法 : VBAのTips解説


 

-Microsoft Access Club-

PLESKやcPanelをインストールしたレンタルサーバーをディスカウト価格で提供中。ヨーロッパデータセンターご希望の方は必見です。
PLESKやcPanelレンタルサーバーをディスカウト価格で...。
ヨーロッパデータセンターご希望の方は必見です。