連結フォームと非連結フォーム
オートフォームで作成したものを前回はデザイン的な側面から検討してみましたが、今回は機能的な面で検討してみます。
まずフォームの設計でポイントなる点は連結フォームと非連結フォームという事です。連結フォームとはテーブルとフォームがダイレクトに連携していてフォームにデータを入力するとリアルにテーブルにデータが保存される仕組みをいいます。オートフォームはこのタイプです。非連結フォームとはテーブルとは直接結びついておらず、単なる入力項目が並んだフォームと言うことです。
非連結フォームではどの段階でテーブルに格納されるかというと登録ボタンのイベントとかにコードを組み込んで、DAOなりADOというデータベースエンジンを操作する言語を用いて書き込んでいきます。細かいタイミングや条件、同時に行う複雑な処理等本格的にシステムを作るにはやはり非連結フォームにし、言語を駆使して作成する必要があります。
しかし、この連載のミッションとして最初にあげたとおり、なるべくコードを書かないで処理を実現するという基本方針に則りここではオートフォームで作成された連結フォームをそのまま使います。
それでは今後非連結フォームは使う事はないのかというとそんなことはありません。入力画面の他に非連結フォームが活躍する場面が2つあります。
一つはメニューです。メニューに各フォームやレポートの起動用のボタンを貼り付けてクリックすると開くという処理を組み込みますが、その時のメニューフォームはどのテーブルとも無関係ですので非連結になります。又、レポートを開くときに出力範囲の指定や印刷・プレビューの指定など指示画面を用意する事になりますが、その時も非連結フォームを使います。入力された値は何かのテーブルに保存するのが目的ではなく、レポートの抽出条件に使われます。
連結フォームがどのテーブルと連結しているかを指定しているのが「レコードソース」プロパティです。プロパティとはそのオブジェクトの属性を指します。プロパティはデザイン時に固定で指定しておくか、プログラムで実行時に動的に変更、取得する事が出来ます。
生徒フォームのレコードソース 家族フォームのレコードソース
フォーム全体がどのテーブルに連結しているかを指定しているのがレコードソースと言いますが、フォーム上の各コントロールがテーブルのどのフィールドに紐付いているかを指定しているのが「コントロールソース」です。オートフォームでは自動的に紐付いていますが、念のため一つ一つの入力フィールドのコントロールソースプロパティを開いてどのテーブルフィールドに紐付いているか確認してみます。
生徒フォームのコントロールソース
まずフォームの設計でポイントなる点は連結フォームと非連結フォームという事です。連結フォームとはテーブルとフォームがダイレクトに連携していてフォームにデータを入力するとリアルにテーブルにデータが保存される仕組みをいいます。オートフォームはこのタイプです。非連結フォームとはテーブルとは直接結びついておらず、単なる入力項目が並んだフォームと言うことです。
非連結フォームではどの段階でテーブルに格納されるかというと登録ボタンのイベントとかにコードを組み込んで、DAOなりADOというデータベースエンジンを操作する言語を用いて書き込んでいきます。細かいタイミングや条件、同時に行う複雑な処理等本格的にシステムを作るにはやはり非連結フォームにし、言語を駆使して作成する必要があります。
しかし、この連載のミッションとして最初にあげたとおり、なるべくコードを書かないで処理を実現するという基本方針に則りここではオートフォームで作成された連結フォームをそのまま使います。
それでは今後非連結フォームは使う事はないのかというとそんなことはありません。入力画面の他に非連結フォームが活躍する場面が2つあります。
一つはメニューです。メニューに各フォームやレポートの起動用のボタンを貼り付けてクリックすると開くという処理を組み込みますが、その時のメニューフォームはどのテーブルとも無関係ですので非連結になります。又、レポートを開くときに出力範囲の指定や印刷・プレビューの指定など指示画面を用意する事になりますが、その時も非連結フォームを使います。入力された値は何かのテーブルに保存するのが目的ではなく、レポートの抽出条件に使われます。
連結フォームがどのテーブルと連結しているかを指定しているのが「レコードソース」プロパティです。プロパティとはそのオブジェクトの属性を指します。プロパティはデザイン時に固定で指定しておくか、プログラムで実行時に動的に変更、取得する事が出来ます。
生徒フォームのレコードソース 家族フォームのレコードソース


フォーム全体がどのテーブルに連結しているかを指定しているのがレコードソースと言いますが、フォーム上の各コントロールがテーブルのどのフィールドに紐付いているかを指定しているのが「コントロールソース」です。オートフォームでは自動的に紐付いていますが、念のため一つ一つの入力フィールドのコントロールソースプロパティを開いてどのテーブルフィールドに紐付いているか確認してみます。
生徒フォームのコントロールソース
- 関連記事
スポンサーサイト