このエントリーをはてなブックマークに追加

Access DLookup関数

こちらは、Accessで作成したサンプルフォームです。「売上合計TOP」ボタンをクリックすると、売上の合計金額が最も多い店名とその合計金額をテキストボックスに表示します。この「売上合計TOP」ボタンのクリック時イベントにDLookup関数を使ってコードを記述します。

DLookup関数

指定したテーブルまたはクエリの特定のフィールドからレコードを1つ抽出します。

<構文> DLookup(式,定義域[,抽出条件])
<構文(英語表記)> DLookup(expr,domain[,criteria])
引数 内容
expr/式(必須) 対象となるデータのあるテーブルやクエリのフィールド名を表す文字列式、または、そのフィールドを使用して演算を実行する式を指定します。テーブルのフィールド名やフォームのコントロール名、定数、関数を使用した演算式などを指定できます。
domain/定義域(必須) 定義域(レコードセット)を表す文字列式を指定します。テーブル名またはクエリ名が指定できます。
criteria/抽出条件(省略可) 集計の対象となるデータの範囲を指定する文字列式を指定します。たとえば、抽出条件SQLのWHERE句を指定できます(WHEREは省略します)。
(Access関数辞典より)

コードの記述

コマンド0(売上合計TOPボタン)クリック時イベントにコードを書きます。データのあるテーブルから、「店名」フィールドをグループ化し、「売上金額」フィールドを集計機能で合計した、選択クエリ「Q_uri」を作成しています。

Private Sub コマンド0_Click()

Dim umax As Currency
Dim turi As Currency
Dim mise As String

umax = DMax("合計売上金額", "Q_uri")
turi = DLookup("合計売上金額", "Q_uri", "合計売上金額 =" & umax)
mise = DLookup("店名", "Q_uri", "合計売上金額 =" & umax)

Me.テキスト1 = mise
Me.テキスト2 = turi

End Sub
  1. 変数umax、turiをCurrency型(通貨型)で宣言します。
  2. 変数miseをString型(文字列型)で宣言します。
  3. DMax関数で、クエリ「Q_uri」の「合計売上金額」フィールドの最大値を取得して、変数umaxに代入します。
  4. DLookup関数で、クエリ「Q_uri」の「合計売上金額」フィールドを、「合計売上金額」が変数umaxとなる抽出条件を指定して取得し、変数turiに代入します。
  5. DLookup関数で、クエリ「Q_uri」の「店名」フィールドを、「合計売上金額」が変数umaxとなる抽出条件を指定して取得し、変数miseに代入します。
  6. 変数miseの値を[テキスト1](店名テキストボックス)に入れます。
  7. 変数turiの値を[テキスト2](売上合計テキストボックス)に入れます。

プログラムの実行

売上合計TOPボタンをクリックすると、合計売上金額の最も多い、店名「C店」の売上合計金額「¥1,190,000」が表示されます。

このエントリーをはてなブックマークに追加

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

コメントフィード

トラックバックURL : https://gyoumuka.cyou/wp-trackback.php?p=3177

PAGE TOPへ戻る