ACCESSで社員管理システム 【作り方解説】 -その②- フォーム作成

サポート社員②
目次

テーブルを作ったら フォームを作っていこう

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

そしていよいよフォーム作成です

ブ長

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

ももい

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

ブ長

そやのん?
まぁ 簡単に動画にまとめてあるみたいやから 見よか~

音無し 2分21秒

フォームとは

フォームの役割は

なんのためにフォームをつくるのでしょうか データを蓄積したり抽出や並び替えなど加工するだけであれば 「テーブル」と「クエリ」だけでできます
では フォームではなにができるのでしょうか

  • テーブルへのデータの入力が効率よくできるようになる
  • 画面にボタンを配置して 自動的に作業がおこなえるようになる
  • 蓄積されたデータを加工した結果を一覧表示できる

フォームの作り方には何種類かある

テーブルを選択してからフォームを作る方法 

①社員マスタのテーブル「M_staff」を選択します
フォームをクリックします

フォーム作り方1

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

フォームの作り方2

あとからテーブルを選ぶ方法

フォームデザインをクリックします

フォームの作り方3

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

フォームの作り方4

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

フォームの作り方5

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

フォームの作り方6

社員管理システムのフォーム作成

あとからテーブルを選ぶ方法でフォームをつくります

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

社員管理フォーム01

効率的な入力のために部署コードをコンボボックスにする方法

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

部署コードコンボ
部署コードプロパティ01
部署コードプロパティ02

部署コード(busho_code)のテキストボックスを 右クリックして コントロールのコンボボックスに変換する から コンボボックスを選びます
プロパティシートのデータタブで 値集合ソースを M_busho 値集合タイプを テーブル/クエリ 連結列を 1 にします
書式タブで 列数を 2 列幅を 1cm;3cm とします

部署コードの 下矢印をクリックすると 部署マスタ(M_busho)の内容が 2列で 1cm 3cm の幅で表示されます
そのリストの中から選ぶことができるのです

つぎに 部署コードの横に テキストボックスを配置して

部署名表示
部署名表示01

テキストボックスのプロパティシート コントロールソースに =[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 を子フィールドに選びます

サブフォーム01

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

サブフォーム02

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

サブフォーム03

社員管理システム フォーム完成

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

社員管理フォーム

フォームフッターに配置されている レコードの移動については VBAを使用しています
この記事を参考にしてください

自力でACCESSシステム作成をサポートします

ACCESSって おもしろいかも と思ってくださった方
いやまだ ACCESSって よくわからない という方
そして 自分でACCESSシステムがつくれるようになったらいいな という方々へ

自力でACCESSシステム作成をサポートします

ACCESS VBA をもっと知りたい方は この書籍を参考にしてください

ACCESSシステムを作って公開するにあたって
マニア建機リースの社員情報や車両情報などのデータがないと作ることはできません
しかし 実際のデータを使うことはできません
そこで そんなデータをランダムに作ってくれるツールがあります

目次