Microsoft Accessを使うと、フォームを使って直感的にデータを入力し、テーブルに反映される仕組みを作ることができます!さらに、入力した内容に応じて、次に選ぶべき選択肢を自動で絞り込む機能を追加すれば、業務の効率化が格段にアップします。
今回は、Accessを使ってフォームからデータ入力し、選択肢を連動させる方法をわかりやすく解説します。
フォームで表示・入力したい項目で、テーブルを作成する
まずは表示・入力したいテーブルを作成する必要があります。
今回は以下のような、家計簿データを入力できるフォームを作ってみたいと思います!

また「収支」と「収支カテゴリ」欄では、以下の選択ができるように設定していきます。
・「収支」:
→「収入」もしくは「支出」を表示
・「収支カテゴリ」:
→「収入」を選択した場合、「基本収入」もしくは「臨時収入」を表示
→「支出」を選択した場合、「食費」、「水道光熱費」もしくは「生活用品費」を表示

■テーブルを作成する流れ
・「作成」タブより、「テーブルデザイン」を選択する
↓
・テーブルのフィールド名、データ型を設定する
(今回は冒頭のフォームで表示した項目を設定)
↓
・テーブルに名前をつけて保存する
(今回は「家計簿データ」という名前で保存しています)

フォームを作成する
次に、作成したテーブルに対応するフォームを作成します。
■フォームを作成する流れ
・「作成」タブより、「フォームウィザード」を選択する
↓
・「フォームウィザード」で「>>」→「次へ」を選択する
(「>>」を選択することで、フィールドを全て選択できます)
↓
・今回は「単票形式」にチェックを入れ、「次へ」を選択する
↓
・「フォームを開いてデータを入力する」にチェックを入れ、「完了」を選択する

無事にフォームを作ることができました!
項目を連動させるテーブルを作成する
今度は選択した項目に連動させるためのテーブルを作成します!
冒頭で記載した、以下の内容を反映させるためのテーブルとなります。
・「収支カテゴリ」:
→「収入」を選択した場合、「基本収入」もしくは「臨時収入」を表示
→「支出」を選択した場合、「食費」、「水道光熱費」もしくは「生活用品費」を表示
冒頭で紹介したテーブル作成と同じ流れで、新しいテーブルを作成します。
今回は「収支内訳」というテーブルを作成し、以下のように入力します。

※冒頭のテーブル作成と流れは一緒になります。

選択するリストを作成する
テーブルを作成したら、今度はそのテーブルと項目が連動するように設定していきます。
「収支」と「収支カテゴリ」で分けて紹介していきます。
収支を選択できるようにする
まずは「収入」、「支出」が選択できるように設定していきます!
■リストを作成する流れ(収支)
・「家計簿データ」フォームの「デザインビュー」で、「収支」部分を選択して右クリック
↓
・「コントロールの種類の変更」→「リストボックス」を選択する
↓
・「プロパティシート」で以下のように入力/選択する
・「値集合ソース」:「”収入”;”支出”」と入力
・「値集合タイプ」:「値リスト」を選択

「収入」、「支出」が選択できるようになりました!
収支カテゴリを選択できるようにする
次に「収入」、「支出」に適応する「収支カテゴリ」が選択できるように設定していきます!
■リストを作成する流れ(収支カテゴリ)
・「家計簿データ」フォームの「デザインビュー」で、「収支カテゴリ」部分を選択して右クリック
↓
・「コントロールの種類の変更」→「コンボボックス」を選択する
↓
・「プロパティシート」で以下のように入力する
・「値集合ソース」:以下SELECT文を入力
SELECT DISTINCT 収支内訳.収支カテゴリ, 収支内訳.収支 FROM 収支内訳, 家計簿データ WHERE (((収支内訳.収支)=[Forms]![家計簿データ]![収支]));
これで「収入」を選んだ時、「基本収入」もしくは「臨時収入」を選択することができました!
同じように「支出」を選ぶと・・・、あれ?「収支カテゴリ」が出てこない・・・という状況になってしまいます。
そのため、以下工程を追加して、ちゃんと適応した「収支カテゴリ」が表示されるようにします。
・「収支カテゴリ」の「プロパティシート」を表示させる
↓
・「フォーカス取得後」の「・・・」を選択する
↓
・「ビルダーの選択」より、「コードビルダー」を選択 →「OK」を選択する
↓
・VBA画面が表示されるので、以下を追記する
Me.収支カテゴリ.Requery

すると、ちゃんと選択した「収支」に適応する「収支カテゴリ」を選択することができました!
実際にフォームから入力してみると・・・
作成したフォームで全項目入力し、Enterキーを押すと・・・
無事にデータがテーブルに反映されました!!

いかがでしたでしょうか?
アクセスのフォームを使うことで、データ入力を効率化できるだけでなく、ユーザーの選択肢を動的に絞り込む機能を実装することができます。
ユーザーの操作も簡単ですし、データ入力誤りを減らすこともできます!ぜひ業務効率化に活用されてみてください!
今回の内容が少しでも参考になれば幸いです。
ご覧いただき、ありがとうございました!
コメント