以下章節將說明如何使用訂單表單以及如何編程。 物件名稱提供方便你在 Northwind 2.0 入門版資料庫中查閱。
使用訂單表單
以下資訊總結了使用該表單的重要要點:
- 主選單 (frmMainMenu) 有訂單清單、幾個篩選選項,以及開啟每筆訂單的超連結。
- 點擊 新增訂單 按鈕即可開啟新的空白訂單。
- 在訂單詳情表單 (frmOrderDetails) ,從下拉選單中選擇現有客戶。 此時會選擇你的員工姓名和 新狀態 。 訂單日期也已經填寫好了。 目前先把出貨日期和付款日期留空。
- 若要新增新客戶訂單,請先建立客戶紀錄,再開啟訂單詳情表單 (frmOrderDetails) 。
- 要將商品加入訂單,請選擇該訂單的商品,然後輸入數量。 單位價格被填入,價格由一個表達式計算出來。
- 要推進訂單狀態,並從「新」→>「發票」—>已出貨—>已關閉,請使用訂單詳情表單頂部的按鈕 (frmOrderDetails) 。
- 未出貨訂單可透過 刪除訂單 按鈕刪除。
- Northwind 2.0 入門版的訂購流程設計得很直接。 假設是庫存隨時可用,庫存永遠不會用完,也不需要購買。 更現實的做法應該是針對這些常見問題進行。
訂單細節表單的程式設計
以下資訊總結了關於該形式如何發展的重要要點。
- 訂單細節表單 (frmOrderDetails) 資料來自於表單 RecordSource 屬性中 (qryOrder) 的簡單查詢。 建議以單一資料表查詢為基礎建立資料輸入表單。 請注意,此查詢中不需包含 OrderDetails 資料表。
- 各種 ID 欄位的值來自兩欄組合框:隱藏 ID 欄和可見的描述欄。 這些組合框綁定於 RowSource 屬性中指定的兩欄查詢。
- 子表單 sfrmOrderDetails 綁定到單一資料表查詢。 ProductID 下拉選單的運作方式與其他 ID 下拉選單相同。 子表單的列數限制為當前順序,方法是設定子表單控制項的 LinkMasterFields 和 LinkChildFields 屬性。
- 這個表單還有一個 BeforeInsert 巨集,當建立新紀錄時會執行,並設定員工和狀態。 通常,這發生在你選擇客戶時。 TempVars!UserID 儲存從 frmLogin 表單擷取的已登入使用者的使用者 ID。 請注意,這些巨集不在導航窗格的巨集區塊,而是在屬性視窗的事件標籤中。
- 此表單的 AfterInsert 事件有一個巨集,當新紀錄被儲存時會執行。 接著它會在主選單左側導覽窗格更新數量。