アクセスのフォームでデータ入力!テーブル項目と連動させて作業効率化UP!

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

フォームで表示・入力したい項目で、テーブルを作成する

まずは表示・入力したいテーブルを作成する必要があります。
今回は以下のような、家計簿データを入力できるフォームを作ってみたいと思います!

また「収支」と「収支カテゴリ」欄では、以下の選択ができるように設定していきます。

・「収支」:
 →「収入」もしくは「支出」を表示
・「収支カテゴリ」:
 →「収入」を選択した場合、「基本収入」もしくは「臨時収入」を表示
 →「支出」を選択した場合、「食費」、「水道光熱費」もしくは「生活用品費」を表示

■テーブルを作成する流れ

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

フォームを作成する

次に、作成したテーブルに対応するフォームを作成します。

■フォームを作成する流れ

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

無事にフォームを作ることができました!

項目を連動させるテーブルを作成する

今度は選択した項目に連動させるためのテーブルを作成します!
冒頭で記載した、以下の内容を反映させるためのテーブルとなります。

・「収支カテゴリ」:
 →「収入」を選択した場合、「基本収入」もしくは「臨時収入」を表示
 →「支出」を選択した場合、「食費」、「水道光熱費」もしくは「生活用品費」を表示

冒頭で紹介したテーブル作成と同じ流れで、新しいテーブルを作成します。
今回は「収支内訳」というテーブルを作成し、以下のように入力します。

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

選択するリストを作成する

テーブルを作成したら、今度はそのテーブルと項目が連動するように設定していきます。
「収支」と「収支カテゴリ」で分けて紹介していきます。

収支を選択できるようにする

まずは「収入」、「支出」が選択できるように設定していきます!

■リストを作成する流れ(収支)

 ・「家計簿データ」フォームの「デザインビュー」で、「収支」部分を選択して右クリック
  ↓
 ・「コントロールの種類の変更」→「リストボックス」を選択する
  ↓ 
 ・「プロパティシート」で以下のように入力/選択する 
  ・「値集合ソース」:「”収入”;”支出”」と入力 
  ・「値集合タイプ」:「値リスト」を選択

「収入」、「支出」が選択できるようになりました!

収支カテゴリを選択できるようにする

次に「収入」、「支出」に適応する「収支カテゴリ」が選択できるように設定していきます!

■リストを作成する流れ(収支カテゴリ)

 ・「家計簿データ」フォームの「デザインビュー」で、「収支カテゴリ」部分を選択して右クリック
  ↓
 ・「コントロールの種類の変更」→「コンボボックス」を選択する
  ↓ 
 ・「プロパティシート」で以下のように入力する 
  ・「値集合ソース」:以下SELECT文を入力

SELECT DISTINCT 収支内訳.収支カテゴリ, 収支内訳.収支 FROM 収支内訳, 家計簿データ WHERE (((収支内訳.収支)=[Forms]![家計簿データ]![収支])); 

これで「収入」を選んだ時、「基本収入」もしくは「臨時収入」を選択することができました!
同じように「支出」を選ぶと・・・、あれ?「収支カテゴリ」が出てこない・・・という状況になってしまいます。
そのため、以下工程を追加して、ちゃんと適応した「収支カテゴリ」が表示されるようにします。

 ・「収支カテゴリ」の「プロパティシート」を表示させる
  ↓
 ・「フォーカス取得後」の「・・・」を選択する
  ↓ 
 ・「ビルダーの選択」より、「コードビルダー」を選択 →「OK」を選択する
  ↓ 
 ・VBA画面が表示されるので、以下を追記する

Me.収支カテゴリ.Requery

すると、ちゃんと選択した「収支」に適応する「収支カテゴリ」を選択することができました!

実際にフォームから入力してみると・・・

作成したフォームで全項目入力し、Enterキーを押すと・・・
無事にデータがテーブルに反映されました!!

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

今回の内容が少しでも参考になれば幸いです。
ご覧いただき、ありがとうございました!

コメント

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