PR

DlookUpを用いたフォーム上のデータ操作

VBA

今回は、DlookUp関数を用いてAccessフォーム上の値を更新する方法を紹介します。

なお、DlookUp関数については以下の記事をご参照ください。

スポンサーリンク

サンプルデータ

今回のサンプルデータとして次のテーブル(「T_銀行支店コード」という名称にします。)を作成して値を登録します。

■T_銀行支店コード テーブルについて

フィールド名 データ型
銀行コード 短いテキスト
銀行名 短いテキスト
支店名 短いテキスト

■サンプルデータについて

銀行コード 銀行名 支店名
390 四菱UGJ 大船
089 四菱UGJ 青葉台駅前
707 四菱UGJ 厚木

サンプルフォーム

サンプルフォームは「F_新規」という名称にします。そして、3つのテキストボックスを作成し、それぞれ「t_銀行コード」、「t_銀行名」、「t_支店名」という名称にします。詳細は図1をご参照ください。

図1 銀行コード参照データベースのサンプルフォーム設定

次に、銀行コードを入力したら「銀行名」と「支店名」が表示されるように、DlookUp関数によるソースコードを追加します。まずは、図2に示すように、「t_銀行コード」テキストボックスの「更新後処理」にイベントプロシージャを設定します(図2参照)。

図2 イベントプロシージャの設定

そして、イベントプロシージャと記載されている右横の「…」ボタンをクリックし、VBA画面を開きます(Alt + F11でも開きます。)。

ここで、

Private Sub t_銀行コード_AfterUpdate()


End Sub

とコードが入力されていると思いますので、次のようにコードを追加します。

Private Sub t_銀行コード_AfterUpdate()

 '以下を追記
 t_銀行名 = DLookup("[銀行名]", "T_銀行支店コード", "[銀行コード] = '" & Forms!F_新規!t_銀行コード & "'")
 t_支店名 = DLookup("[支店名]", "T_銀行支店コード", "[銀行コード] = '" & Forms!F_新規!t_銀行コード & "'")

End Sub 

以上で、設定が完了です。

銀行コードの入力テスト

サンプルフォームの「t_銀行コード」テキストボックスに、「390」と入力します。ここで、「390」とはサンプルデータにあるように大船支店を指す銀行コードです。

データ入力後、Enterキーを押すと「t_銀行名」と「t_支店名」テキストボックスに値が反映されます。

図3 DlookUpによる情報の反映

このようにして、DlookUp関数を用いれば、キーとなる値(今回の場合は、銀行コード)を入力することで、それに付帯する情報を容易に出力できます。

まとめ

今回はDlookUp関数を用いてフォーム上の値を更新する方法を紹介しました。

マスタテーブルを作成し、必要情報をコードで呼び出せるようにすれば、データ入力作業等を飛躍的に短縮することができ、業務効率の削減を図ることも期待できます。

スポンサーリンク

Kindle Unlimitedにサインアップして無料体験に登録する
Kindle Unlimitedに登録すると、人気のシリーズ、ベストセラー、名作などに好きなだけアクセスして、シームレスなデジタル読書体験を実現できます。

コメント

タイトルとURLをコピーしました