[クエリ]MS Access開発覚書 レコードを引用する-DLookup関数-

2020/01/06

 


✅お仕事のために


簡単な業務システム()を作ってたらドはまりして休みの日にも開発を進めるようになってしまった。
やっぱ私医学向いてなかった。

少しずつ覚書を増やしていきます。



✅VLookup…ではなくDLookup。


人並み程度にはExcel使えるつもりですが
Excelに慣れているとVLookup関数を使いたくなります。
で、Accessでは似たような機能としてDLookupがあります。

Microsoft:DLookup関数

に書いてありますが、DLookup関数の構文は

DLookup( expr, domain [, criteria] )

です。これだけですぐ使用方法がイメージできるほど自分IT強くないんで試行錯誤の結果を記載。

テーブルA
社員ID:9999 社員名前:山田太郎 社員性別:男性 社員年齢:30歳

というレコードを準備しておいて

クエリB社員名前、性別、年齢を社員IDから引用したい

そんなシチュエーションを想定します。差別化のためにクエリBでは『クエリBのID』というレコード名としていることとします。

DLookup( expr, domain [, criteria] )の要素はそれぞれ

exprは『必須』引用するフィールド等を指定
domainは『必須』引用するテーブル等を指定
criteriaは『省略可』で条件を指定

なので、『社員名前』について実際にこれを書こうとすると

社員名前:DLookup( "社員名前""テーブルA","社員ID="&[クエリBのID] )

こうなる。

クエリBの社員名前テーブルA社員IDクエリBのIDとおなじ数値なレコードにかかれているテーブルAの社員名前を引用する
最初と最後がクエリ要素、それ以外は引用元の要素になるとおぼえておく。

:DLookup( "姓名", "マスタ-対応社員","社内ID="&[面談者社内ID] )
こうなる。

これでクエリBをもとにしたフォームで社員IDを入力すれば
テーブルAから社員名前が引用されるってわけです。

他の項目も同様に組んでやればよいと。

正直DLookupよりリレーションシップやらなんやら使ったほうが良さげな感じもありますが
とりあえずやりたいことはできたんでヨシ!

それでは。

コメント

0 件のコメント :

コメントを投稿

当ブログの内容は端末の文鎮化を引き起こす可能性を伴う危険なものを含み、投稿主は施行の推奨を致しません。

また、このブログコメント欄、Twitter等で問い合わせ頂いても詳細な内容を記載/返答する予定はございません。
自分で調べる。自己責任。転んでも自分で起きる。ことが出来ない方はコメント前にブラウザバックを推奨いたします。