目次
VLOOKUP関数は、不要だけど、DLOOKUP関数は必要
こんにちは。伊川(@naonaoke)です。
ご視聴者様から、質問が来ました。
今回は、ACCESSのDLOOKUP関数について説明します。
このブログでも、何度か、DLOOKUP関数は説明しています。
同じ関数を何度も記事にしているという事は、私が、DLOOKUP関数で何度も挫折しているという事です。
DLOOKUP関数は、覚えてしまうとカンタンなのですが、VLOOKUP関数を想像してしまい、記載方法が混同しがちなのです。
ExcelとACCESSは、まったく別物です。
では、質問の内容に回答したいと思います。
Office2016でWindows10を使用してます。
質問ですが
仮にT_映画を作成、項目に
A:題名
B:主人公
とします。
入力データは
A:鬼滅の刃
B:竈門炭治郎
を値にします。
やりたいこと→①Aを選択したらBが表示される②Bを選択するとAが表示される、です。AもBも相互検索ができるような方法はありますでしょうか?
自分なりに考えてはみたものの、形にならず行き詰まりました。自分的にはifで条件分岐、とかDLOOKUP?なのかと考えたのですが構築がダメなのか上手く出来ませんでした。メールでお答え可能でしたら宜しくお願い致します
このブログはこんな人にお勧め
- DLOOKUP関数の使い方が、イマイチ理解できない人
- DLOOKUP関数の利用シーンがわからない人
- ACCES初学者の人
このブログを、読み終わるころには・・・・
DLOOKUP関数を使えるようになります。今回の質問は、オートルックアップクエリが使いないシーンです。
DLOOKUP関数は、オートルックアップクエリが使えない時、または、オートルックアップクエリの補助的な役割として利用しましょう。
DLOOKUP関数
DLOOKUP関数は、ACCESSを勉強すると、最初の頃に出会う関数です。
しかし、なかなか、曲者で、すぐには理解できません。
ExcelのVLOOKUP関数と名前は似ているものの、実際には、コードの書き方も全然違います。
DLOOKUP関数の、Dは、データベースのDだと思います。
私なりの解釈ですが、データベースをルックアップ、つまり、探すという意味になります。
DLOOKUPで双方検索 作業手順 その1 データベースを確認
いつも通りの仮面ライダーです。
仮面ライダーを選択すると、主人公の名前が表示されます。
または、主人公を選択すると、仮面ライダーが表示されます。
DLOOKUPで双方検索 作業手順 その2 テーブルに細工をする
全てを主キーに設定しました。
全ての値が重複しないようにです。
ヒーローに対して、主人公は一人しかいません。
また、主人公が、変身するキャラクターは、決まっています。
だから主キーにしました。
DLOOKUPで双方検索 作業手順 その3 テーブルに細工をする注意点
主キーを複数設定する注意点は、上記の赤枠の中です。
空文字列の許可⇒いいえ
インデックス⇒はい(重複なし)
この設定は、主キーの理屈を理解していれば、たやすいと、思います。
主キーとは
空白を許さないし、重複を許さない。
ACCESSを扱う際の重要な原則になります。
DLOOKUPで双方検索 作業手順 その4 フォームを作成
このように、コンボボックスを作成しました、
左右両方のコンボボックスにDLOOKUP関数を仕込みます。
各コンボボックスの更新後の処理に、上記のようなコードを仕込みます。
これで、双方検索が、可能になります。
これが、ご視聴者様がやりたいことなのか、わからないですが、双方検索は、可能になりました。
ここがポイント
DLOOKUP関数は、オートルックアップクエリの補助的な役割として、結構な頻度で私は、利用しています。私も最初は、DLOOKUP関数で、苦労した記憶があります。しかし、理解できた時は、少しだけ、ACCESSを理解できたようなきがしました。ACCESSSも、積み重ねていくことで、理解が、深まるのです。
まとめ
今回は、DLOOKUP関数の復習がてらに記事を書きました。
DLOOKUP関数は、フィールドの型が、文字型なのか、数値型なのかで、クォーテーションの数が違ってきます。
ここも初心者泣かせな部分です。
十分に注意してください。
今回も、最後まで読んでいただき、ありがとう不ございました。
今回のサンプルファイルは、No184です。
わからない事を延々と考えるのは、無駄です。
- なんで作動かないの?
- もうやだ!VBAなんか嫌い!
- ネットで調べても情報がない!
必ず作動するコードが、ここにあります。