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

明細番号の最終番号を表示。Access DLookup関数

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

<構文>

DLookup(式,定義域[,抽出条件])

<構文(英語表記)>

DLookup(expr,domain[,criteria])

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

今回は、業務の中で日々入力をしていくデータのいわゆる伝票番号の最後の番号をフォームに表示させたいと思います。この最終番号を表示させる意味ですが、例えば打ち込んだデータを、その日のうちに伝票にプリントするとします。そして、プリントした伝票の最後の番号が入力したデータの最終番号と一致しているかを照らし合わせるのに利用できます。例えば、伝票を忘れずに最後までプリントしているかを確認するなどです。そこで、今回のポイントはこのmainフォームと伝票番号のデータが入っているテーブルとが結びついていないという点です。ですので、今回は関数を使ってそれを表示させます。

こちらのサンプルフォームは、2個の「ボタン」と1個の「テキストボックス」を配置しています。左上にある「売上」ボタンを押すと、別の売上入力フォームに移動し、データを入力していきます。そして、右側の「伝票Last」と題されたテキストボックスに売上データの最終番号を表示したいと思います。


access フォームまず最初に選択クエリをひとつ作ります。クエリのもとのテーブルは、「伝票番号」フィールドのある「T_売上main」を選びます。フィールドは「伝票番号」ひとつだけを下段のデザイングリッドに表示させます。「集計」モードにして、ドロップダウンリストから「最大」を選びます。クエリ名は「Q_Umax」としています。下の画像は作成したクエリをデザインビューで開けた画面です。デザイングリッドのフィールド名が集計モードですので、「伝票番号の最大:伝票番号」となっています。このままでも問題はありませんが、後にこのクエリを参照するときなどを考えて、コロンの左側、「伝票番号の最大」を「伝番大」に変更しておきます。これは、このクエリを基にさらにクエリを作成する時などは、この左側のフィールド名を使っていくことになるので、ここで名前を簡潔にしておくのです。この左側の名前は任意の名前をつけています。ただし。コロンの右側はフィールドのもとの名前なので消さないでそのまま残しておきます。

 

クエリデザイン

そして、リボンの左側にある「実行」を押します。

クエリ デザインクエリが通常モード(データシートビュー)で表示されます。
選択クエリの作成方法はこちらも参考にしてください。

クエリでは、最初のサンプルフォームをデザインビューで開きます。最後の伝票番号を表示させるテキストボックスをクリックすると「プロパティシート」がこのテキストボックスの内容を表示します。「データ」タブを選択して、「コントロールソース」の右端にある「ビルドボタン」をクリックします。

フォームデザイン

そうすると、「式ビルダー」ボックスが現れるので、ここに関数を記入していきます。今回使う関数は「DLookUp」関数です。では、「式ビルダー」に記入していきます。Accessの入力支援機能を上手に使い、次の式を記入します。

式ビルダー

DLookUp(“[Q_Umax].[伝番大]”,”[Q_Umax]”)

ここでは、DLookUp関数の括弧の中、引数がふたつあります。ひとつ目の引数“[Q_Umax].[伝番大]”は、はexpressionといって、値を返すフィールドを識別する文字列式で、“[クエリ名].[フィールド名]”です。二つ目の引数“[Q_Umax]”domainといって、定義域を構成するレコード セットを識別する文字列式、ということで、ここでは“[クエリ名]”となっています。ポイントは、この二つの引数がそれぞれダブルクオーテーションで括られており、文字列式であることを表しています。

式ビルダー式が記入できたら、「OK」ボタンを押して、フォームビューで開きます。伝票Lastのテキストボックスに最終伝票番号が表示されています。フォーム

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

コメントを残す

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

コメントフィード

トラックバックURL : http://gyoumuka.work/wp-trackback.php?p=798

PAGE TOPへ戻る