入力したデータを利用する その6

メインテーブルを基にフォームウィザードでフォームを作成します。

マスタを作成した項目は「コントロールの種類」→「コンボボックス」を指定します

コンボボックスのプロパティで「データ」、「値集合ソース」に「Q_医療機関マスタ」を指定します。

「書式」→「列数2」→「列幅0;3」と設定します。(解説Web)

ここで一度フォームビューにして動作確認をしてみましょう。

思ったとおりの動きになっているでしょうか?

190.JPG

フォームが完成したら、最初にタブオーダーを確認します。

タブオーダーとは入力が終わった際に次に移動する場所です。

通常は上から下へ順番に降りていきますが、コントロールの位置を動かした場合、不自然な順番になることがあるので最初に確認しておきます。

フォームデザインから「タブオーダー」を選択し順番を確認します。(参照Web)

これでマスタからの入力はできるようになりましたが、「医療機関名」の「医師名」や「担当医」の「診療科」が空欄のままです。

入力すべき対象は分かっているのにわざわざ入力するのは明らかに無駄な気がしますね。

ここで簡単なVBAを利用してみましょう。(解説Web

VBAと聞いて難しそうだから出来ないと思わないでください。

実際には簡単で便利な仕事をしてくれます。

快適な入力には欠かせない部分なので頑張ってみましょう。

手順を考えてみます。

「医療機関名」のコンボボックスでデータが選択されたら

「医療機関名」のテーブルにある「医師名」を調べる

フォーム上の「医師名」のコントロールに調べた「医師名」を入力する。

VBAはどのようなタイミングで仕事を開始すればよいか命令を待っています。

ここでは「医療機関名」の内容が「更新された」ときが「そのとき」です。

コンボボックスを右クリックして「イベント」→「イベントプロシージャ」→「…」を選択

これでVBAを作業する画面が開きます。

193.JPG

Accessを利用する方はある程度Excelが使えると思います。

と言うよりExcelについてはかなり自信があるのではないでしょうか

だからこそExcelの限界が見えてきてAccessに取り組むというケースもあるでしょう。

AccessとExcelは関数も同じような命令が多く、Excel関数を知っていれば大変有利です。

「医療機関名」のような一覧から一致したデータの情報を取得する場合Excelなら「Dlookup関数」を使用しますが、Accessでも同じ処理が可能です。

なおExcelで頭文字に「D」が付く関数はデータベース関数なので多用している場合はAccessに移行した方が効率的です。(参照Web

195.JPG

先ほどのVBAの命令を書く場所にDlookupを使用します。
ここまでのファイル(体裁を整えています。)

入力フォーム4.accdb


お買い物の際にはご利用いただくと記事を書く励みになります。よろしくお願いします。

【大きなモニタだと作業が捗りますね】
特別給付金の支給が決定した際、奥様に相談し半額まで自由に使える権利をGetしました。
PC用のモニタを大きくしたい&マルチモニタ環境を作りたいと思い探していたところ、素敵な商品を発見しました。
ブランドとしては申し分無いBENQの27インチがなんとこのお値段!思わず高田社長の声が脳内でリフレイン
薄型でコード類は後ろでまとめられるのでスッキリしています。大満足の買い物でした。お勧めです。














Accessに関する書籍などはコチラからどうぞ。ご利用いただくと記事を書く励みになりますのでよろしくお願いします。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント