即効テクニック |
●概要● AVG関数を使用して指定したフィールドの平均を取得します。GROUP BY句と一緒にAVG関数を使用すると、グループごとの平均を取得できます。 サンプルでは「部署コード」と「部署名」でグループ化し、グループごとの「給与」の平均を取得します。●サンプル●
'グループごとの平均を取得する Public Sub Sample() Dim myDB As Database Dim myRS As DAO.Recordset Dim mySQL As String 'SQLステートメントを定義する mySQL = "SELECT A.部署コード,C.部署名,AVG(給与) " & _ "FROM 社員テーブル A,給与テーブル B,部署テーブル C " & _ "WHERE A.社員コード=B.社員コード " & _ "AND A.部署コード=C.部署コード " & _ "GROUP BY A.部署コード,C.部署名;" 'カレントデータベースを変数に代入する Set myDB = CurrentDb 'SQLステートメントを実行してレコードセットを開く Set myRS = myDB.OpenRecordset(mySQL, dbOpenDynaset) 'レコードセットの内容を表示する Do Until myRS.EOF Debug.Print myRS(0) & " " & myRS(1) & " " & myRS(2) myRS.MoveNext Loop 'レコードセットを閉じる myRS.Close End Sub
● 補足 ● 結果は[イミディエイト]ウィンドウに表示されます。