AccessのVBAでSQLのSELECT WHEREを使い、計算条件に合うレコードを抽出する|フォーム実行例

計算結果で抽出するには、WHEREで計算式を指定します

例. SELECT 学生ID , 体重 / (身長 * 身長 ) AS bmi FROM 学生名簿 WHERE 体重 / (身長 * 身長 ) > 22
このように計算結果で抽出するには、WHEREで計算式を指定します。
抽出部分でASを使い同じ式を列見出しとして指定していますが、この列見出しは使用せずに計算式を指定します。



BackHome BackSQL Tips

サンプルソフト
[実行時の画面]
「実行」ボタンをクリックすると、学生名簿テーブルから、BMI指数が22を超えるレコードを表示します。

BMI(ボディ・マス・インデックス)指数とは、肥満度の判定方法の一つです。
体重(kg)/身長(m)2で求められます。
やせ BMI<18.5
正常 18.5≦BMI<25
肥満 25 ≦BMI
標準値は22.0です。
学生体型評価

[学生名簿 テーブル]
学生ID 体重  身長
10    55.2  1.686
11    68.5  1.731
13    65.3  1.824
16    89.6  1.783
学生体型データテーブル

[コード]
Option Compare Database

Private Sub コマンド8_Click()
    Dim SQL As String
    Dim rs As Recordset
    Me!テキスト1 = Null
    SQL = "SELECT 学生ID, 体重 / (身長 * 身長 ) AS bmi FROM 学生名簿 WHERE 体重 / (身長 * 身長 ) > 22"
    Set rs = CurrentDb.OpenRecordset(SQL)
    Do Until rs.EOF
        Me!テキスト1 = Me!テキスト1 & rs![学生ID] & ": " & rs![bmi] & vbCrLf
        rs.MoveNext
    Loop
    Set rs = Nothing
End Sub

サンプルソフトのダウンロード

BackHome BackSQL Tips

Copyright(C) FeedSoft