テーブルを作ったら フォームを作っていこう
ACCESSでちっちゃい会社の社員管理システムを作ります
まずは システムの完成形をイメージします 記事『ACCESSで社員管理システム【作り方解説】-完成形をイメージする-』でモチベーションを上げて
じっくりとテーブルを設計していきました 記事『ACCESSで社員管理システム【作り方解説】-その①-テーブル設計』
そしていよいよフォーム作成です
![](https://access-mania.com/wp-content/uploads/4.4_19d-150x150.jpg)
ようやく フォーム作りだね
![](https://access-mania.com/wp-content/uploads/5-150x150.png)
![](https://access-mania.com/wp-content/uploads/5-150x150.png)
![](https://access-mania.com/wp-content/uploads/5-150x150.png)
フォームはACCESSシステムの顔なんで
こだわりが一番出るところですね
![](https://access-mania.com/wp-content/uploads/4.4_19g-150x150.jpg)
![](https://access-mania.com/wp-content/uploads/4.4_19g-150x150.jpg)
![](https://access-mania.com/wp-content/uploads/4.4_19g-150x150.jpg)
そやのん?
まぁ 簡単に動画にまとめてあるみたいやから 見よか~
音無し 2分21秒
フォームとは
フォームの役割は
なんのためにフォームをつくるのでしょうか データを蓄積したり抽出や並び替えなど加工するだけであれば 「テーブル」と「クエリ」だけでできます
では フォームではなにができるのでしょうか
- テーブルへのデータの入力が効率よくできるようになる
- 画面にボタンを配置して 自動的に作業がおこなえるようになる
- 蓄積されたデータを加工した結果を一覧表示できる
フォームの作り方には何種類かある
テーブルを選択してからフォームを作る方法
①社員マスタのテーブル「M_staff」を選択します
②フォームをクリックします
![フォーム作り方1](https://access-mania.com/wp-content/uploads/form_staff_01.png)
![フォーム作り方1](https://access-mania.com/wp-content/uploads/form_staff_01.png)
社員マスタのテーブル「M_staff」にある項目を配置したフォームができる
![フォームの作り方2](https://access-mania.com/wp-content/uploads/form_staff_02-1024x711.png)
![フォームの作り方2](https://access-mania.com/wp-content/uploads/form_staff_02-1024x711.png)
あとからテーブルを選ぶ方法
フォームデザインをクリックします
![フォームの作り方3](https://access-mania.com/wp-content/uploads/form_staff_03.png)
![フォームの作り方3](https://access-mania.com/wp-content/uploads/form_staff_03.png)
空白のフォームが作成されます
![フォームの作り方4](https://access-mania.com/wp-content/uploads/form_staff_04-1024x746.png)
![フォームの作り方4](https://access-mania.com/wp-content/uploads/form_staff_04-1024x746.png)
フォームのプロパティ レコードソースを M_staff にセットします
![フォームの作り方5](https://access-mania.com/wp-content/uploads/form_staff_05.png)
![フォームの作り方5](https://access-mania.com/wp-content/uploads/form_staff_05.png)
既存のフィールドの追加 をクリックすると M_staff のフィールドが フィールドリストに表示され 選択したフィールドをフォームにドラッグアンドドロップすることで テキストボックスとラベルが配置されます
![フォームの作り方6](https://access-mania.com/wp-content/uploads/form_staff_06-1024x706.png)
![フォームの作り方6](https://access-mania.com/wp-content/uploads/form_staff_06-1024x706.png)
社員管理システムのフォーム作成
あとからテーブルを選ぶ方法でフォームをつくります
フォームを作る方法はいろいろありますが ももいはいつも 空白のフォームを作ってから ソースとなるテーブルを選び フィールドリストから 必要な項目を選んで 配置する方法をとっています
※これは各自の好み やりやすい方法をとってください
![社員管理フォーム01](https://access-mania.com/wp-content/uploads/form_staff_10-1024x466.png)
![社員管理フォーム01](https://access-mania.com/wp-content/uploads/form_staff_10-1024x466.png)
効率的な入力のために部署コードをコンボボックスにする方法
上記の方法で部署コードを選んでフォームに配置したら テキストボックスになります
これからは 効率的に部署を登録するために 部署マスタから部署コードを選んで 登録する方法です
![部署コードコンボ](https://access-mania.com/wp-content/uploads/form_staff_11.png)
![部署コードコンボ](https://access-mania.com/wp-content/uploads/form_staff_11.png)
![部署コードプロパティ01](https://access-mania.com/wp-content/uploads/form_staff_14.png)
![部署コードプロパティ01](https://access-mania.com/wp-content/uploads/form_staff_14.png)
![部署コードプロパティ02](https://access-mania.com/wp-content/uploads/form_staff_13.png)
![部署コードプロパティ02](https://access-mania.com/wp-content/uploads/form_staff_13.png)
部署コード(busho_code)のテキストボックスを 右クリックして コントロールのコンボボックスに変換する から コンボボックスを選びます
プロパティシートのデータタブで 値集合ソースを M_busho 値集合タイプを テーブル/クエリ 連結列を 1 にします
書式タブで 列数を 2 列幅を 1cm;3cm とします
部署コードの 下矢印をクリックすると 部署マスタ(M_busho)の内容が 2列で 1cm 3cm の幅で表示されます
そのリストの中から選ぶことができるのです
つぎに 部署コードの横に テキストボックスを配置して
![部署名表示](https://access-mania.com/wp-content/uploads/form_staff_12.png)
![部署名表示](https://access-mania.com/wp-content/uploads/form_staff_12.png)
![部署名表示01](https://access-mania.com/wp-content/uploads/form_staff_15.png)
![部署名表示01](https://access-mania.com/wp-content/uploads/form_staff_15.png)
テキストボックスのプロパティシート コントロールソースに =[busho_code].[column](1) と入力すると 選んだ部署コードにより
部署マスタから 部署名をひっぱってきて表示してくれます
タブコントロールを配置しページを追加する
社員の情報をあれもこれも登録したいという場合があります
ひとつの画面に入りきらないほどの情報を登録したいときに便利なツールが タブコントロールです
![タブコントロール](https://access-mania.com/wp-content/uploads/form_staff_20-1024x685.png)
![タブコントロール](https://access-mania.com/wp-content/uploads/form_staff_20-1024x685.png)
基本タブ
まず 最初にできるページには 社員マスタテーブルにある項目の残りを配置していきましょう
![基本タブ](https://access-mania.com/wp-content/uploads/form_staff_21-1024x480.png)
![基本タブ](https://access-mania.com/wp-content/uploads/form_staff_21-1024x480.png)
資格タブ 履歴タブ 扶養タブ 健診タブ
基本タブの上で右クリックすると ページの挿入ができます
ここでは 4つ挿入し 資格 履歴 扶養 健診のタブを作成します
![タブ](https://access-mania.com/wp-content/uploads/form_staff_33-1024x326.png)
![タブ](https://access-mania.com/wp-content/uploads/form_staff_33-1024x326.png)
これらのページに配置する サブフォームを作成します
すべて 帳票フォームで作成します
資格タブに配置する資格サブフォーム(F_shikaku)
![資格タブ](https://access-mania.com/wp-content/uploads/form_staff_32-1024x186.png)
![資格タブ](https://access-mania.com/wp-content/uploads/form_staff_32-1024x186.png)
履歴タブに配置する履歴サブフォーム(F_history)
![履歴タブ](https://access-mania.com/wp-content/uploads/form_staff_31-1024x183.png)
![履歴タブ](https://access-mania.com/wp-content/uploads/form_staff_31-1024x183.png)
扶養タブに配置する扶養サブフォーム(F_fuyo)
![扶養タブ](https://access-mania.com/wp-content/uploads/form_staff_30-1024x187.png)
![扶養タブ](https://access-mania.com/wp-content/uploads/form_staff_30-1024x187.png)
健診タブに配置する健診サブフォーム(F_kenshin)
![社員管理の健診コンボ](https://access-mania.com/wp-content/uploads/form_staff_f_kenshin01-1024x316.png)
![社員管理の健診コンボ](https://access-mania.com/wp-content/uploads/form_staff_f_kenshin01-1024x316.png)
チェックのフィールドは健診の判定結果をコンボボックスから選んで登録します
値集合タイプは値リスト
値集合ソースに ”A:異常なし”;”B:軽度以上”;”C:要観察”;”D:要注意”;”E:要精検”;”F:要治療”;”G:継続加療”;”H:要再検” を登録します
右の3点マークをクリックすると リスト項目の編集ダイアログが表示されるので そこから登録することもできます
タブコントロールに配置する
![タブに配置](https://access-mania.com/wp-content/uploads/form_staff_40-1024x547.png)
![タブに配置](https://access-mania.com/wp-content/uploads/form_staff_40-1024x547.png)
サブフォームのプロパティシートの リンク親フィールドの3点マークをクリックすると サブフォームフィールドリンクビルダーが起動します
ここでは社員マスタテーブルと各サブテーブル(T_shikaku T_history T_fuyo)を結び付ける手順を説明します
社員マスタの社員コード staff_code を親フィールドに選び 資格テーブルの s_cd を子フィールドに選びます
![サブフォーム01](https://access-mania.com/wp-content/uploads/form_staff_41-1024x464.png)
![サブフォーム01](https://access-mania.com/wp-content/uploads/form_staff_41-1024x464.png)
社員マスタの社員コード staff_code を親フィールドに選び 履歴テーブルの s_cd を子フィールドに選びます
![サブフォーム02](https://access-mania.com/wp-content/uploads/form_staff_42-1024x464.png)
![サブフォーム02](https://access-mania.com/wp-content/uploads/form_staff_42-1024x464.png)
社員マスタの社員コード staff_code を親フィールドに選び 扶養テーブルの s_cd を子フィールドに選びます
![サブフォーム03](https://access-mania.com/wp-content/uploads/form_staff_43-1024x463.png)
![サブフォーム03](https://access-mania.com/wp-content/uploads/form_staff_43-1024x463.png)
社員管理システム フォーム完成
以上で このような社員管理システムが完成します
![社員管理フォーム](https://access-mania.com/wp-content/uploads/kakozumi01-1024x713.png)
![社員管理フォーム](https://access-mania.com/wp-content/uploads/kakozumi01-1024x713.png)
フォームフッターに配置されている レコードの移動については VBAを使用しています
この記事を参考にしてください
自力でACCESSシステム作成をサポートします
ACCESSって おもしろいかも と思ってくださった方
いやまだ ACCESSって よくわからない という方
そして 自分でACCESSシステムがつくれるようになったらいいな という方々へ
自力でACCESSシステム作成をサポートします
ACCESS VBA をもっと知りたい方は この書籍を参考にしてください
ACCESSシステムを作って公開するにあたって
マニア建機リースの社員情報や車両情報などのデータがないと作ることはできません
しかし 実際のデータを使うことはできません
そこで そんなデータをランダムに作ってくれるツールがあります