VBA クエリ結果にアクセスする方法

Microsoft Access クエリからの結果を読み取る方法を知っていると、Access アプリケーションをより動的にするのに役立ちます。 Access は Microsoft Office スイートの一部であり、リレーショナル データベースの作成に使用されます。 Visual Basic for Applications (VBA) を Access で使用して、Windows アプリケーションを作成し、データベース データを取得できます。クエリは、構造化クエリ言語 (SQL) ステートメントを使用して構築され、データベースから情報を要求します。
ステップ 1
Microsoft Office Access 2007 を起動し、[空のデータベース] を選択し、[作成] をクリックします。 [データベース ツール] をクリックし、[Visual Basic] を選択します。 [挿入] フィールドをクリックし、[モジュール] を選択します。
「Private sub readQueryResults」と入力し、「Enter」を押して新しいサブルーチンを作成します。
ステップ 2
次のように入力して、クエリ結果の読み取りに使用する変数を宣言します:
Dim RecordSt As Recordset Dim dBase As Database Dim stringSQL As String Dim rCnt As Integer
ステップ 3
次のように入力して、「CityTbl」テーブルを作成します:
stringSQL ="CREATE TABLE CityTbl (都市 TEXT(25), 州 TEXT(25));" DoCmd.RunSQL (stringSQL)
ステップ 4
次のように入力して、「CityTbl」テーブルに 2 つの新しいレコードを追加します:
stringSQL ="INSERT INTO CityTbl ([都市], [州] ) " stringSQL =stringSQL &"VALUES ('フォートワース', 'テキサス');" DoCmd.SetWarnings False DoCmd.RunSQL (stringSQL)
stringSQL ="INSERT INTO CityTbl ([都市], [州] ) " stringSQL =stringSQL &"VALUES ('ダラス', 'テキサス');" DoCmd.SetWarnings False DoCmd.RunSQL (stringSQL)
ステップ 5
次のように入力してクエリを定義し、レコードセットを開きます:
stringSQL ="SELECT CityTbl.* FROM CityTbl;" RecordSt を設定 =dBase.OpenRecordset(stringSQL)
ステップ 6
次のように入力して「For ループ」を作成し、クエリ結果をメッセージ ボックスに表示します。
RecordSt.MoveFirst For rCnt =0 To RecordSt.RecordCount MsgBox (RecordSt.Fields("City").Value &", " &RecordSt.Fields("State").Value) RecordSt.MoveNext Next rCnt
サブルーチンを実行するには、「F5」を押してください。