| Microsoft Access Club >SQL入門講座 >このページ >次頁 < 前項 | |
|
GROUP BY句 構文ALL句とは、同じフィールド内に重複したレコードがある場合でも、そのままデータ表示を行うSQL構文です。DISTINCT句とは、同じフィールド内に重複したレコードがある場合は、最初のレコードのみ表示し、他のレコードを非表示にするSQL構文です。
サンプルテーブルサンプルテーブル(支払い管理)を下記のように用意します。
構文[ALL句] SELECT ALL filename 〜[DISTINCT句] SELECT DISTINCT filename 〜
サンプル構文「支払い管理」テーブルを元に、支払先の重複している値を非表示にします。
「支払い管理」テーブルを元に、 支払先の重複している値を非表示にします。フィールドを2つ以上指定した場合、それらのレコードの値が全て同じであれば非表示になります。
事例2 - DAOを用いた事例DAOを用いてサンプル構文No2を以下のように実行します。 Sub MySQLDISTINCT()
On Error GoTo エラー
Dim db As DAO.Database
Dim qdf As DAO.QueryDef
Dim mySQL As String
Set db = CurrentDb
mySQL = "SELECT DISTINCT 支払先,支払額 FROM 支払管理;"
Set qdf = db.CreateQueryDef("Q_売り上げ管理", mySQL)
DoCmd.OpenQuery qdf.Name
db.Close: Set db = Nothing
Exit Sub
エラー:
If Err.Number = 3012 Then
db.QueryDefs.Delete "Q_売り上げ管理"
Resume
Else
MsgBox Err.Number & " : " & Err.Description
End If
End Sub
留意点
結果下記のようにデータが表示されます。
クエリで作成すると・・・このSQLステートメントをAccessオブジェクトのクエリで作成すると、下記のようになります。
クエリ自体は単なる選択クエリですが、クエリプロパティを見ると「全フィールド表示」に"いいえ"が設定されています。
2004/08/21
|