GROUP BY 句の使用例

次の例では、一意な役職とその役職 employees の一覧を作成します。

この例では、EnumFields プロシージャを呼び出しています。EnumFields プロシージャの内容は SELECT ステートメントの例の中にあります。

Sub GroupByX1()

    

    Dim dbs As Database, rst As Recordset

    

    ' この下の行を、使用しているコンピュータ上の

    ' Northwind のパスに変更してください。

    Set dbs = OpenDatabase("Northwind.mdb")

    

    ' 各役職ごとにその社員数を数えます。

    Set rst = dbs.OpenRecordset("SELECT Title, " _

        & "Count([Title]) AS Tally " _

        & "FROM Employees GROUP BY Title;")

    

    ' Recordset を作成します。

    rst.MoveLast

    

    ' EnumFields を呼び出し、Recordset の内容を

    ' 出力します。Recordset オブジェクトと必要な

    ' フィールド幅を渡します。

    EnumFields rst, 25

    

    dbs.Close

    

End Sub

    

この例では、一意な役職ごとに、Washington においてその役職の社員の数を計算します。

Sub GroupByX2()

    

    Dim dbs As Database, rst As Recordset

    

    ' この下の行を、使用しているコンピュータ上の

    ' Northwind のパスに変更してください。

    Set dbs = OpenDatabase("Northwind.mdb")

    

    

    ' 各役職ごとにその社員数を数えます。

    ' ここでは Washington の社員に限定します。

    Set rst = dbs.OpenRecordset("SELECT Title, " _

        & "Count(Title) AS Tally " _

        & "FROM Employees WHERE Region = 'WA' " _

        & "GROUP BY Title;")

    

    ' Recordset を作成します。

    rst.MoveLast

    

    ' EnumFields を呼び出し、Recordset の内容を

    ' 出力します。Recordset オブジェクトと必要な

    ' フィールド幅を渡します。

    EnumFields rst, 25

    

    dbs.Close

    

End Sub