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

click fraud protection
...

VBAを使用してAccessでクエリ結果を取得します。

Microsoft Accessクエリの結果を読み取る方法を知っていると、Accessアプリケーションをより動的にするのに役立ちます。 AccessはMicrosoftOfficeスイートの一部であり、リレーショナルデータベースの作成に使用されます。 Visual Basic for Applications(VBA)をAccessで使用して、Windowsアプリケーションを作成し、データベースデータを取得できます。 クエリは、構造化クエリ言語(SQL)ステートメントを使用して構築され、データベースに情報を要求します。

ステップ1

Microsoft Office Access 2007を起動し、[空白のデータベース]を選択して、[作成]をクリックします。 「データベースツール」をクリックし、「VisualBasic」を選択します。 「挿入」フィールドをクリックし、「モジュール」を選択します。

今日のビデオ

「PrivatesubreadQueryResults」と入力し、「Enter」を押して新しいサブルーチンを作成します。

ステップ2

次のように入力して、クエリ結果の読み取りに使用する変数を宣言します。

Dim RecordSt As Recordset Dim dBase As Database Dim stringSQL As String Dim rCnt As Integer

ステップ3

次のように入力して、「CityTbl」テーブルを作成します。

stringSQL = "CREATE TABLE CityTbl(City TEXT(25)、State TEXT(25));" DoCmd。 RunSQL(stringSQL)

ステップ4

次のように入力して、「CityTbl」テーブルに2つの新しいレコードを追加します。

stringSQL = "INSERT INTO CityTbl([City]、[State])" stringSQL = stringSQL& "VALUES( 'Fort Worth'、 'Texas');" DoCmd。 SetWarnings FalseDoCmd。 RunSQL(stringSQL)

stringSQL = "INSERT INTO CityTbl([City]、[State])" stringSQL = stringSQL& "VALUES( 'Dallas'、 'Texas');" DoCmd。 SetWarnings FalseDoCmd。 RunSQL(stringSQL)

ステップ5

次のように入力してクエリを定義し、レコードセットを開きます。

stringSQL = "SELECTCityTbl。* FROM CityTbl;" RecordSt = dBaseに設定します。 OpenRecordset(stringSQL)

ステップ6

次のように入力して「Forループ」を作成し、メッセージボックスにクエリ結果を表示します。

RecordSt。 MoveFirst For rCnt = 0 ToRecordSt。 RecordCount MsgBox(RecordSt。Fields( "City")。Value& "、"&RecordSt。Fields( "State")。Value)RecordSt。 MoveNext Next rCnt

「F5」を押してサブルーチンを実行します。