Microsoft Access Club >初心者講座 >休暇申請管理ソフト >このページ >次頁 - 前項  サイト内検索


入力フォーム_メイン/サブフォームの作成:休暇申請管理ソフト



今日から「作成」の段階に入っていきます。お待ちかねの諸氏には朗報であると同時に地獄への第一段階です。はい…。

メインフォームの作成

メインフォームを作成し、次にサブフォームに進んでいきます。

一般に入力フォームの大きさはどの程度が良いんでしょうかね。

これには使用するパソコンのディスプレイ解像度(800×600等と表示されるもの)を頭に入れなければいけません。今のご時世ではネットワーク対応は当たり前で、ハタマタ新旧のパソコンが職場で入り混じっていますよね。この場合は当然、

  • 低い解像度(今なら800×600かな)に合わせます。
合わせるといっても対応の仕方は2種類ありまして、
  • 低い解像度のディスプレイで画面一杯にする方法(大きい解像度では画面に比べてかなり小さくなります。)
  • 「最大化」イベントを利用してどの解像度であっても対応させる方法です。

しかし、この「最大化」の方法はテキストボックスやコマンドボタンなどが「左寄せ」の状態になって見栄えが悪くなります。よって詰るところ、この講座では前者の方法を採用します。

空白フォームを単票式で新規作成

名前は「frm_有休M」とします。これがメインフォームとなります。オブジェクト名の命名には充分に注意して下さい。後で変更すると、システム全体を修正する必要が出てくるんで…。

  • フォームの大きさは 20.5cm×14.5cm位 が解像度(800×600)の上限です。

次に、いつもの事ですがフォームの「プロパティ」を修正してカスタマイズします。見易く、美しくをモットーに不要なものをカットして下さい。
「境界線スタイル」は"サイズ゙調整可"が好きなので、サンプルはそのようにしました。チョット窪んだ所もいいですし…。

このメインフォームのレコードソースは、tbl_有休M テーブルと 多対1 のリレーションを結んだ tbl_社員マスターテーブルとで構成します。クエリ のデザインビューは下記のとおりです。

「CK」フィールド

これは、フォームの閉じるイベントと連動(Trueを代入する)させて、一度閉じたフォーム(レコード)を二度と開けないようにしています。他の社員が誤って入力する過誤を防止するためです。なお、このフィールドは、「表示」をオフにしても問題ありません。
#分かり難いと思いますが、フォーム制御の一種です。追々、説明します。

最後に、クエリの各フィールドを格納するためにフォーム上に各々テキストボックスを配置します。

サブフォームの作成

下記のようにデザインビューフォームを構築して下さい。注意点としては、

  • 大概のサブフォームにいえることなんですが、メインフォームに"寄生"することで使命を果たすのがサブフォーム

ですから、余分な"飾り"を排除します。具体的には、フォームプロパティで「移動ボタン」などを省略して下さい。すっきりと…。

隠しテキストボックスの配置

ここでの特異点は、"隠し"テキストボックスを2個用いていることです。それは、オートナンバー型の「ID」フィールドと「適用詳細」フィールドです。つまり、後者の「適用詳細」は「日付」の「更新後処理イベント」でVBAを利用し値を代入しますので、フォームでの表示は不要です。但し、格納するスペースがあれば表示させても構いませんが…。

メイン/サブフォームの作成方法

それでは今日の最後に、メイン/サブフォームの作成方法をお話します。方法は2種類あります。

1.フォーム新規作成ウィザードを利用

「CDアルバム管理ソフト」は、この方法を採用しました。この場合、メイン/サブを含んだクエリを作成し指定することが条件です。自動的にサブフォームを含んだメインフォームが出来上がります。

2.ツールボックスのサブフォーム/サブレポートツールを利用

この方法は、フォーム上にサブフォームの領域を設定し、作成した領域のプロパティから下記のようにメインとサブを結び付けます。※リレーションをしっかり設定して置いて下さいね。

ビルだの表示方法は、「リンク子フィールド」または「リンク親フィールド」にフォーカスが移動すると、右端に「...」が現れますのでそれをクリックするだけです。

3.メインフォーム上へサブフォームを右クリックでドラックする方法

これにはメインフォームをデザインビューで開いておくことが必要です。 そして、データベースウィンドウ内でサブフォーム(閉じている状態)をドラッグします。なお、メイン、サブテーブル間でリレーションが設定済みなら、自動的にサブフォームとして認識されます。便利でしょう。

この後、見栄えがよくなるようにメイン・サブフォームを微調整して下さいね。

メイン/サブフォームを採用した理由

前回の「CDアルバム管理ソフト」もしかり、今回も例題にメイン/サブフォームを取り上げました。この理由としては、

  • データベースはメイン/サブの関係が基本

だと考えているからです。でないと、Excelで事足りてAccessを使う意味が薄れますから…。

 

ページの先頭へ 前ページへ戻る

 


入力フォーム_メイン/サブフォームの作成:休暇申請管理ソフト


 

-Microsoft Access Club-