下列各節說明如何使用訂單窗體,以及如何加以程序設計。 提供的物件名稱可讓您輕鬆地在 Northwind 2.0 Starter Edition 資料庫中進行檢查。
下列資訊摘要說明使用表單的相關重點:
-
frmMainMenu 主功能表 () 有訂單清單、一些篩選選項,以及可開啟每個訂單的超連結。
-
按兩下 [新增訂單] 按鈕以開啟新的空白訂單。
-
在 (frmOrderDetails) 的訂單詳細數據表單上,從下拉式清單中選取現有的客戶。 此時已選取您的 [員工名稱] 和 [ 新增 狀態]。 訂單日期也已填入。 將 [出貨日期] 和 [已付款日期] 保留空白。
-
若要為新客戶新增訂單,請在開啟訂單詳細數據窗體 (frmOrderDetails) 之前建立客戶記錄。
-
若要新增專案至訂單,請選取此訂單的產品,然後輸入 [數量]。 [單價] 會填入,而 [價格] 則以表達式計算。
-
若要在 [ 訂單狀態 ] 中換頁,並將訂單從 [ 新增 ] 移至工作流程 ,> [已開立帳單 ] > 出貨 — > [關閉],請使用訂單詳細數據窗體頂端的按鈕, (frmOrderDetails) 。
-
您可以使用 [刪除訂單 ] 按鈕刪除 未清除的訂單。
-
根據設計,Northwind 2.0 Starter Edition 中的訂單流程非常簡單。 假設一律有可用的庫存、永不用完,也不必購買。 更實際的程式會處理這些常見的問題。
下列資訊摘要說明表單的開發方式重點。
-
frmOrderDetails () 的訂單詳細數據窗體會從窗體 RecordSource 屬性中指定的簡單查詢 (qryOrder) 取得其數據。 建議的做法是將數據輸入表單一數據表查詢為基礎。 請注意,您不需要在此查詢中包含 OrderDetails 數據表。
-
各種標識符欄位會從兩欄下拉式方塊取得其值:隱藏的標識符欄和可見的 [描述] 列。 這些下拉式方塊系結至 RowSource 屬性中指定的兩欄查詢。
-
子窗體 sfrmOrderDetails 系結至單一數據表查詢。 [ProductID] 下拉式清單的運作方式與其他標識符下拉式清單類似。 子表單的列是透過設定子表單控制件的 LinkMasterFields 和 LinkFields屬性,以限制在目前的順序。
-
此表單也有 BeforeInsert 宏,它會在建立新記錄時執行,並設定 [員工] 和 [狀態]。 一般情況下,當您選取客戶時,就會發生這種情況。 TempVars!UserID 會保留從frmLogin窗體擷取之登入使用者的UserID。 請注意,這些宏不在 [導航窗格] 的 [宏] 區段中,而是在 [內容] 視窗的 [事件] 索引卷標中。
-
此窗體的 AfterInsert 事件有一個宏,可在儲存新記錄時執行。 然後更新主功能表左側瀏覽窗格中的計數。