次のセクションでは、製品フォームの使用方法とプログラム方法を示します。 オブジェクト名は、Northwind 2.0 Starter Edition データベースで容易に調べることができるように提供されています。
製品フォームの使用
製品フォームは、ベスト プラクティスを強調するためにシンプルな方法で設計されています。 実際のアプリケーションのように製品在庫を管理する高度な方法はほとんどありません。
メイン メニュー (frmMainMenu) には、各製品の製品詳細フォーム (frmProductDetail) を開くためのハイパーリンクを含む製品リスト (sfrmMainMenu_ProductList) を開く [ 製品 ] コマンド ボタンがあり、次のアクション ボタンがあります。
- [ 製品の追加 ] ボタンをクリックして、新しい空白の製品フォームを開きます。
- 製品リストをユーザーが選択したファイル (Excel、.pdf など) に送信するための [ ファイルにエクスポート ] ボタン。
[製品の詳細] フォーム (frmProductDetail) で、[ 製品の削除] ボタンを使用して未使用の製品を削除できます。
製品フォームのプログラミング
次の情報は、フォームがどのように開発されたかに関する重要なポイントをまとめたものです。
Product details (frmProductDetail) は、 RecordSource プロパティで指定された単純なクエリ qryProductDetail からデータを取得します。 簡単な 1 テーブル クエリに基づいてデータ入力フォームを作成することをお勧めします。
product orders サブフォーム (sfrmProductDetail_OrderList) の上にあるテキスト ボックス txtOrderLabel に注目してください。 これは、現在の変数値を利用してフォーム表示をカスタマイズする良い例です。
このディテール フォームやその他のディテール フォームのもう 1 つの興味深い機能は、ポップアップして移動できることです。 これは、次の 2 つの方法のいずれかで実行できます。
- フォーム ポップアップ プロパティを "はい" に設定します。
- フォームをダイアログとして開く: (マクロまたはコードを使用して) フォームを開くときは、 ウィンドウ モード 引数を "acDialog" として指定します。 フォームをダイアログとして開くと、フォームの モーダル プロパティが "いいえ" に設定されている場合にそのプロパティがオーバーライドされることに注意してください。
すべてのフォームには モーダル プロパティがあります。 このプロパティを "yes" に設定すると、フォームが開いている間は他のフォームを操作できなくなります。 ウィンドウ モードの "acDialog" を使用してマクロまたはコードを介してフォームを開くと、フォームの モーダル プロパティに関係なく、フォームは自動的にモーダルになります。
また、[ 製品の説明 ] テキスト ボックスで リッチ テキスト が有効になっていることにも注意してください。 つまり、テキスト ボックス内でさまざまなフォントと色を使用してテキストを表示できます。 商品詳細フォームの ポップアップ モードが "はい" になっているため、テキスト書式設定の ショートカット メニュー バー は使用できません。 Word ドキュメントからリッチ テキストを貼り付けるか、フォームの Popup プロパティを一時的に "いいえ" にリセットすることができます。
ctlProductOrders という名前のサブフォーム コントロールの製品詳細フォームの製品注文サブフォーム (sfrmProductOrders) は、注文された製品の 3 テーブル クエリにバインドされています。 このサブフォームの行は、サブフォーム コントロールの LinkMasterFields プロパティと LinkChildFields プロパティを設定することによって、現在の製品に対してフィルター処理されます。