テーブルを作ったら フォームを作っていこう
ACCESSでちっちゃい会社の社員管理システムを作ります
まずは システムの完成形をイメージします 記事『ACCESSで社員管理システム【作り方解説】-完成形をイメージする-』でモチベーションを上げて
じっくりとテーブルを設計していきました 記事『ACCESSで社員管理システム【作り方解説】-その①-テーブル設計』
そしていよいよフォーム作成です

ようやく フォーム作りだね



フォームはACCESSシステムの顔なんで
こだわりが一番出るところですね



そやのん?
まぁ 簡単に動画にまとめてあるみたいやから 見よか~
音無し 2分21秒
フォームとは
フォームの役割は
なんのためにフォームをつくるのでしょうか データを蓄積したり抽出や並び替えなど加工するだけであれば 「テーブル」と「クエリ」だけでできます
では フォームではなにができるのでしょうか
- テーブルへのデータの入力が効率よくできるようになる
- 画面にボタンを配置して 自動的に作業がおこなえるようになる
- 蓄積されたデータを加工した結果を一覧表示できる
フォームの作り方には何種類かある
テーブルを選択してからフォームを作る方法
①社員マスタのテーブル「M_staff」を選択します
②フォームをクリックします


社員マスタのテーブル「M_staff」にある項目を配置したフォームができる


あとからテーブルを選ぶ方法
フォームデザインをクリックします


空白のフォームが作成されます


フォームのプロパティ レコードソースを M_staff にセットします


既存のフィールドの追加 をクリックすると M_staff のフィールドが フィールドリストに表示され 選択したフィールドをフォームにドラッグアンドドロップすることで テキストボックスとラベルが配置されます


社員管理システムのフォーム作成
あとからテーブルを選ぶ方法でフォームをつくります
フォームを作る方法はいろいろありますが ももいはいつも 空白のフォームを作ってから ソースとなるテーブルを選び フィールドリストから 必要な項目を選んで 配置する方法をとっています
※これは各自の好み やりやすい方法をとってください


効率的な入力のために部署コードをコンボボックスにする方法
上記の方法で部署コードを選んでフォームに配置したら テキストボックスになります
これからは 効率的に部署を登録するために 部署マスタから部署コードを選んで 登録する方法です






部署コード(busho_code)のテキストボックスを 右クリックして コントロールのコンボボックスに変換する から コンボボックスを選びます
プロパティシートのデータタブで 値集合ソースを M_busho 値集合タイプを テーブル/クエリ 連結列を 1 にします
書式タブで 列数を 2 列幅を 1cm;3cm とします
部署コードの 下矢印をクリックすると 部署マスタ(M_busho)の内容が 2列で 1cm 3cm の幅で表示されます
そのリストの中から選ぶことができるのです
つぎに 部署コードの横に テキストボックスを配置して




テキストボックスのプロパティシート コントロールソースに =[busho_code].[column](1) と入力すると 選んだ部署コードにより
部署マスタから 部署名をひっぱってきて表示してくれます
タブコントロールを配置しページを追加する
社員の情報をあれもこれも登録したいという場合があります
ひとつの画面に入りきらないほどの情報を登録したいときに便利なツールが タブコントロールです


基本タブ
まず 最初にできるページには 社員マスタテーブルにある項目の残りを配置していきましょう


資格タブ 履歴タブ 扶養タブ 健診タブ
基本タブの上で右クリックすると ページの挿入ができます
ここでは 4つ挿入し 資格 履歴 扶養 健診のタブを作成します


これらのページに配置する サブフォームを作成します
すべて 帳票フォームで作成します
資格タブに配置する資格サブフォーム(F_shikaku)


履歴タブに配置する履歴サブフォーム(F_history)


扶養タブに配置する扶養サブフォーム(F_fuyo)


健診タブに配置する健診サブフォーム(F_kenshin)


チェックのフィールドは健診の判定結果をコンボボックスから選んで登録します
値集合タイプは値リスト
値集合ソースに ”A:異常なし”;”B:軽度以上”;”C:要観察”;”D:要注意”;”E:要精検”;”F:要治療”;”G:継続加療”;”H:要再検” を登録します
右の3点マークをクリックすると リスト項目の編集ダイアログが表示されるので そこから登録することもできます
タブコントロールに配置する


サブフォームのプロパティシートの リンク親フィールドの3点マークをクリックすると サブフォームフィールドリンクビルダーが起動します
ここでは社員マスタテーブルと各サブテーブル(T_shikaku T_history T_fuyo)を結び付ける手順を説明します
社員マスタの社員コード staff_code を親フィールドに選び 資格テーブルの s_cd を子フィールドに選びます


社員マスタの社員コード staff_code を親フィールドに選び 履歴テーブルの s_cd を子フィールドに選びます


社員マスタの社員コード staff_code を親フィールドに選び 扶養テーブルの s_cd を子フィールドに選びます


社員管理システム フォーム完成
以上で このような社員管理システムが完成します


フォームフッターに配置されている レコードの移動については VBAを使用しています
この記事を参考にしてください
自力でACCESSシステム作成をサポートします
ACCESSって おもしろいかも と思ってくださった方
いやまだ ACCESSって よくわからない という方
そして 自分でACCESSシステムがつくれるようになったらいいな という方々へ
自力でACCESSシステム作成をサポートします
ACCESS VBA をもっと知りたい方は この書籍を参考にしてください
ACCESSシステムを作って公開するにあたって
マニア建機リースの社員情報や車両情報などのデータがないと作ることはできません
しかし 実際のデータを使うことはできません
そこで そんなデータをランダムに作ってくれるツールがあります