Microsoft Access Club >VBAのTips解説 >このページ >次頁 < 前項  サイト内検索
 

SQLステートメントで関数を利用する方法 : VBAのTips解説



MIN関数
MAX関数
AVG関数

SQLステートメント内で、Access組み込み関数や独自関数を用いることができます。 特に集計関数と呼ばれるMIN関数、MAX関数、AVG関数は代表的なものです。 MIN関数はフィールドの中で最も小さいレコードを返し、逆にMAX関数はフィールドの中で最も大きいレコードを返します。 また、AVG関数はフィールド全体の平均値を返します。 なお、これら以外にも、SUN関数、COUNT関数が用意されています。

  • 書式
[MIN関数] : MIN関数(fieldname)
[MAX関数] : MIN関数(fieldname)
[AVG関数] : MIN関数(fieldname)
  • 引数

MIN関数

引数 意味 指定

fieldname

フィールド名を指定します 省略不可

MAX関数

引数 意味 指定

fieldname

フィールド名を指定します 省略不可

AVG関数

引数 意味 指定

fieldname

フィールド名を指定します 省略不可

関連項目

  1. CurrentDb(DAO)
  2. OpenRecordsetメソッド(DAO)
  3. AS句

事例 ) 「請求額」フィールドの最少額、最大額、平均額をフッターに表示する

「請求額」フィールドの最少額、最大額、平均額をフッターに表示します。

  1. ID、社員名、売上額フィールドを持つ営業部売上管理テーブルを作成します。
  2. 連結フォームを作成します。
  3. 非連結のテキストボックスをフォームフッターに作成します。

フォームの読み込み時イベントプロシージャの作成

フォームの読み込み時イベントプロシージャを以下のように作成します。

Private Sub Form_Load()

   On Error GoTo エラー

   Dim db As DAO.Database
   Dim rs As DAO.Recordset
   Dim mySQL As String
   Dim strMsg As String

   Set db = CurrentDb

   mySQL = "SELECT Format(Min([売上額]),'0,##') AS 最少額, " '--- A
   mySQL = mySQL & "Format(Max([売上額]),'0,##') AS 最大額, " '--- B
   mySQL = mySQL & "Format(Avg([売上額]),'0,##') As 平均額 "
   mySQL = mySQL & "FROM 営業部売上管理;"

   Set rs = db.OpenRecordset(mySQL)

   strMsg = "現在における営業部員の売上成績" & vbNewLine & vbNewLine
   strMsg = strMsg & "最小額 : " & rs!最少額 & "円"
   strMsg = strMsg & vbNewLine & "最大額 : " & rs!最大額 & "円"
   strMsg = strMsg & vbNewLine & "平均額 : " & rs!平均額 & "円"

   Me.表示 = strMsg '--- C

   Set rs = Nothing
   Set db = Nothing

   Exit Sub

エラー:

   MsgBox Err.Number & " : " & Err.Description

End Sub
解説
  1. AS句でフィールド名を作成します。
  2. Format関数を用いて、3桁ごとにカンマを付与します。
  3. テキストボックス(名:表示)に、変数strMsgを代入します。

動作確認

  1. フォームビューで開く。
  2. フォームフッターに、最少額、最大額、平均額が表示されます。

ページの先頭へ 前ページへ戻る

 


SQLステートメントで関数を利用する方法 : VBAのTips解説


 

-Microsoft Access Club-

動画配信(ダウンロード、ストリーミング)対応の専用レンタルサーバー。データセンター設置場所はアメリカ合衆国です。: 動画サーバードットコム
動画配信(ダウンロード、ストリーミング)対応の専用レンタルサーバー。
データセンター設置場所はアメリカ合衆国です。
100Mbps〜1Gbpsまで対応できます。