| SQL 「Between And 」を使い範囲内のレコードを抽出する | ||||
SELECT フィールド名 FROM テーブル名 WHERE フィールド名 Between 値1 And 値2 値1 から 値2 の範囲内にあるレコードを返します。 例: SQL = "SELECT 学生ID FROM 学生名簿 WHERE 体重 Between 80 AND 90 " この場合、体重が80以上から90以内の学生IDを抽出します。 これを「AND」にすると SQL = "SELECT 学生ID FROM 学生名簿 WHERE 体重 >= 80 AND 体重 <=90 " となります。
サンプルソフト [実行時の画面] 「販売数 MIN」に抽出したい販売数の最小値を入力します。 「販売数 MAX」に抽出したい販売数の最大値を入力します。 「Between And 抽出」ボタンをクリックすると、販売データテーブルから販売数が、 「販売数 MIN」以上で「販売数 MAX」以下の範囲内のレコードを表示します。 SQL = "SELECT 商品ID,販売数 FROM 販売データ WHERE 販売数 Between " & Me!テキスト2 & " AND " & Me!テキスト3 は SQL = "SELECT 商品ID,販売数 FROM 販売データ WHERE 販売数 >= " & Me!テキスト2 & " AND 販売数 <=" & Me!テキスト3 と同じ結果になります。 サンプルソフトをダウンロードしお試しください。 ![]() [販売データ テーブル] 商品ID 販売数 10 5000 11 2500 13 6200 16 3350 ![]() [コード] Option Compare Database Private Sub コマンド8_Click() Dim SQL As String Dim rs As Recordset If IsNull(Me!テキスト2) Then MsgBox "抽出する販売数の最小値を入力してください。" Me!テキスト2.SetFocus Exit Sub End If If IsNull(Me!テキスト3) Then MsgBox "抽出する販売数の最大値を入力してください。" Me!テキスト3.SetFocus Exit Sub End If Me!テキスト1 = Null SQL = "SELECT 商品ID,販売数 FROM 販売データ WHERE 販売数 Between " & Me!テキスト2 & " AND " & Me!テキスト3 Set rs = CurrentDb.OpenRecordset(SQL) Do Until rs.EOF Me!テキスト1 = Me!テキスト1 & rs![商品ID] & ": " & rs![販売数] & vbCrLf rs.MoveNext Loop Set rs = Nothing End Sub
ダウンロード |
||||
Copyright(C) 2007-2008 FeedSoft