SQLの基本

Access VBA SQLの書き方1 SELECT FROM 選択

SQLの書き方1 SELECT FROM 選択

SELECT文はSQLの中でも最も使用頻度が高い構文です。
Accessで使用するクエリがこのSELECT文にあたり、データベース作成講座でもこのSELECT文を使用したSQLを多用しています。SELECT文の書き方を覚えることでSQLの基礎を学んでいきましょう。

SELECT ~ FROM

SELECT文の中で最も基本的な構文です。

SELECT フィールド名 FROM テーブル名
SELECTの後に抽出したいフィールド名とFROMの後にフィールドがあるテーブル名を指定します。

例 (データベース作成講座で使用している「T_社員マスタ2013」を使います。)

SQL = “SELECT 社員コード FROM T_社員マスタ2013”

このSQLを実行すると全ての社員コードが抽出されます。
また、全てのフィールド名を対象にしたい場合はフィールド名を「*」に置き変えます。


SQL = “SELECT * FROM T_社員マスタ2013”

このSQLを実行すると「T_社員マスタ2013」の全てのフィールドが抽出されます。
では実際にプログラムを作成してみましょう。

まずは適当にフォームを作成し、コマンドボタンを配置します。

sqlkakikata06

コマンドボタンの「クリック時」イベントに以下のプログラムを作成します。

SELECT ~ FROMを使用したプログラム例

Private Sub コマンド0_Click()

Dim CN As ADODB.Connection
Dim RS As ADODB.Recordset
Dim SQL As String

Set CN = CurrentProject.Connection
Set RS = New ADODB.Recordset

SQL = “SELECT * FROM T_社員マスタ2013”

RS.Open SQL, CN, adOpenStatic, adLockOptimistic

If RS.EOF = False Then

Do Until RS.EOF

Debug.Print RS!社員コード & RS!名前

RS.MoveNext
Loop

End If

RS.Close: Set RS = Nothing
CN.Close: Set CN = Nothing

End Sub

イミディエイトウィンドウに抽出結果を表示したいので以下の設定を行ってください。

sqlkakikata04

VBの画面にて、「表示」→「イミディエイトウィンドウ」をクリック

sqlkakikata05

画面の下部に「イミディエイトウィンドウ」が表示されます。

プログラム内容の説明

今回は「SQL = “SELECT * FROM T_社員マスタ2013″」としました。
「T_社員マスタ2013」の全てのフィールドを対象にしています。
SQL実行後「Debug.Print RS!社員コード & RS!名前」とすることで、イミディエイトウィンドウに社員コードと名前を表示させます。
プログラムを実行させるとイミディエイトウィンドウに抽出結果が表示されます。

sqlkakikata07

「社員コード」と「名前」が表示されていれば成功です。

いかがでしょうか?
SQLの基本であるSELECT文の基礎を説明しました。
SELECT FROMを基本とし、ここから抽出条件や並べ替えなどの構文を付け加えていくと徐々に複雑になっていきます。一歩一歩進んでいきましょう。