今回は、DlookUp関数を用いてAccessフォーム上の値を更新する方法を紹介します。
なお、DlookUp関数については以下の記事をご参照ください。
サンプルデータ
今回のサンプルデータとして次のテーブル(「T_銀行支店コード」という名称にします。)を作成して値を登録します。
■T_銀行支店コード テーブルについて
フィールド名 | データ型 |
銀行コード | 短いテキスト |
銀行名 | 短いテキスト |
支店名 | 短いテキスト |
■サンプルデータについて
銀行コード | 銀行名 | 支店名 |
390 | 四菱UGJ | 大船 |
089 | 四菱UGJ | 青葉台駅前 |
707 | 四菱UGJ | 厚木 |
サンプルフォーム
サンプルフォームは「F_新規」という名称にします。そして、3つのテキストボックスを作成し、それぞれ「t_銀行コード」、「t_銀行名」、「t_支店名」という名称にします。詳細は図1をご参照ください。
次に、銀行コードを入力したら「銀行名」と「支店名」が表示されるように、DlookUp関数によるソースコードを追加します。まずは、図2に示すように、「t_銀行コード」テキストボックスの「更新後処理」にイベントプロシージャを設定します(図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_支店名」テキストボックスに値が反映されます。
このようにして、DlookUp関数を用いれば、キーとなる値(今回の場合は、銀行コード)を入力することで、それに付帯する情報を容易に出力できます。
まとめ
今回はDlookUp関数を用いてフォーム上の値を更新する方法を紹介しました。
マスタテーブルを作成し、必要情報をコードで呼び出せるようにすれば、データ入力作業等を飛躍的に短縮することができ、業務効率の削減を図ることも期待できます。
スポンサーリンク
コメント