次のセクションでは、受注フォームの使用方法とプログラミング方法を示します。 オブジェクト名は、Northwind 2.0 Starter Edition データベースで容易に調べることができるように提供されています。
注文フォームの使用
次の情報は、フォームの使用に関する重要なポイントをまとめたものです。
- メイン メニュー (frmMainMenu) には、注文の一覧、いくつかのフィルター オプション、各注文を開くハイパーリンクがあります。
- [ 注文の追加 ] ボタンをクリックして、新しい空の注文を開きます。
- 注文詳細フォーム (frmOrderDetails) で、ドロップダウンから既存の顧客を選択します。 その時点で、従業員名と 新しい ステータスが選択されます。 [注文日] も既に入力されています。 [出荷日] と [支払日] は、現時点では空白のままにします。
- 新しい顧客の注文を追加するには、注文詳細フォーム (frmOrderDetails) を開く前に顧客レコードを作成します。
- 注文に品目を追加するには、この注文の商品を選択し、数量を入力します。 単価が入力され、式によって価格が計算されます。
- [注文状況] を進め、ワークフロー全体で注文を新規 —>請求済み —>出荷済み —>終了] から移動するには、注文詳細フォーム (frmOrderDetails) の上部にあるボタンを使用します。
- 出荷されていない注文は、[ 注文の削除 ] ボタンを使用して削除できます。
- Northwind 2.0 Starter Edition の注文プロセスは、設計上単純です。 前提としては、常に在庫があり、在庫がなくなることはなく、購入する必要もないということです。 より現実的なプロセスは、これらの一般的な問題に対処するでしょう。
注文詳細フォームのプログラミング
次の情報は、フォームがどのように開発されたかに関する重要なポイントをまとめたものです。
- 注文詳細フォーム (frmOrderDetails) は、フォームの RecordSource プロパティで指定された単純なクエリ (qryOrder) からデータを取得します。 1 つのテーブル クエリに基づいてデータ入力フォームを作成することをお勧めします。 このクエリに OrderDetails テーブルを含める必要はありません。
- さまざまな ID フィールドは、2 列のコンボ ボックス (非表示の ID 列と表示される説明列) から値を取得します。 これらのコンボ ボックスは、 RowSource プロパティで指定されている 2 列のクエリにバインドされます。
- サブフォーム sfrmOrderDetails は、1 つのテーブル クエリにバインドされています。 [製品コード] ドロップダウンは、他の ID ドロップダウンと同様に機能します。 サブフォームの行は、サブフォーム コントロールの LinkMasterFields プロパティと LinkChildFields プロパティを設定することによって、現在の順序に制限されます。
- このフォームには、新しいレコードの作成時に実行される BeforeInsert マクロもあり、従業員と状態を設定します。 通常、これは顧客を選択したときに発生します。 TempVars!UserID は、frmLogin フォームからキャプチャされたログイン中のユーザーの UserID を保持します。 これらのマクロは、ナビゲーション ウィンドウの [マクロ] セクションではなく、[プロパティ] ウィンドウの [イベント] タブにあることに注意してください。
- このフォームの AfterInsert イベントには、新しいレコードが保存されたときに実行されるマクロがあります。 その後、メイン メニューの左側のナビゲーション ウィンドウでカウントが更新されます。