HOME > 即効テクニック > AccessVBA > クエリ・SQL > SQLステートメントをクエリを使って作成する

即効テクニック

クエリ・SQL

SQLステートメントをクエリを使って作成する

(Access 97)
クエリを開く、もしくはデザインビューで表示すると、[クエリデザイン]ツールバーにクエリをビュー表示する際の方法を指定するボタンが表示されます。
その中には、[デザインビュー][データシートビュー][SQLビュー]の3種類のビュー表示方法があるので、[SQLビュー]をクリックします。
[SQLビュー]には、クエリの元となっているSQLステートメントが表示されるので、すべてコピーしてプロシージャに貼り付けする事ができます。
例えば、選択クエリ「クエリ1」が、商品管理テーブルの商品番号「1000」のレコードを抽出して商品番号と商品名を表示するクエリとします。
[SQLビュー]でクエリ1を表示すると、次のようなSQLステートメントになります。

SELECT 商品管理.商品番号, 商品管理.商品名
FROM 商品管理
WHERE (((商品管理.商品番号)=1000));
このSQLステートメントは、次のように省略することもできます。

SELECT 商品番号, 商品名
FROM 商品管理
WHERE 商品番号=1000;

ただし、このままプロシージャに貼り付けると、改行があるのでエラーになります。
改行されている部分にはスペースを入れて、次のようにして利用します。
Sub Sample()
    Dim db   As Database
    Dim rs   As Recordset
    Dim mySQL As String
    
    Set db = CurrentDb
    
    mySQL = "SELECT 商品番号, 商品名 FROM 商品管理 WHERE 商品番号=1000;"

    Set rs = db.OpenRecordset(mySQL)
    
    MsgBox rs!商品名
    
    rs.Close
    db.Close
    
End Sub