| SQL 「AND」を使い複数条件と一致するレコードを抽出する | ||||
SELECT フィールド名 FROM テーブル名 WHERE 条件式1 AND 条件式2 「AND」は2つの条件式の論理積です。 「A と B」、「A かつ B」、「A および B」などと言われます。 条件式1 と 条件式2 の両方が「True (真)」のデータになります。 例: SQL = "SELECT 学生ID FROM 学生名簿 WHERE 体重>=60 AND 身長<=165 " この場合、体重が60以上で身長が165以上の学生IDを抽出します。 さらに 体重>=60 AND 身長<=165 AND 血液型='A' のようにさらに追加することもできます。
サンプルソフト [実行時の画面] 身長、体重を入力し「抽出」ボタンをクリックすると、学生名簿テーブルから、入力された身長と体重を超えるレコードを表示します。 ![]() [学生名簿 テーブル] 学生ID 体重 身長 10 55.2 168.6 11 68.5 173.1 13 65.3 182.4 16 89.6 178.3 ![]() [コード] 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 体重>=" & Me!テキスト3 & " AND 身長>=" & Me!テキスト2 Set rs = CurrentDb.OpenRecordset(SQL) Do Until rs.EOF Me!テキスト1 = Me!テキスト1 & rs![学生ID] & ": " & rs![身長] & " " & rs![体重] & vbCrLf rs.MoveNext Loop Set rs = Nothing End Sub
ダウンロード |
||||
Copyright(C) 2007-2008 FeedSoft