選取下列任何主題以瞭解 Northwind Developer Edition 中的採購單。
此 Northwind 採購單範例應用程式的 Dev Edition 只有採購單模組。 在 Starter Edition 中,產品永遠不會用完,也永遠不需要購買。 此 Dev Edition 會展開資料庫架構 () 在 Northwind 2.0 Starter Edition 中使用的數據表,並使用更進階的功能。 它仍是為了向您介紹 Microsoft Access 的主要功能,而非執行任何特定業務。
-
[採購單清單] 可從功能區取得。 它具有可開啟每個訂購單的超連結。
-
採購單清單和功能區都有 [新增採購單] 按鈕,可開啟新的空白採購單。 您也可以從 [ 產品] 表單 >[重新排序產品 ] 按鈕建立採購單。
-
頁首中的按鈕會透過 [提交]、[核准]、[接收] 和 [關閉],透過工作流程來換頁採購單。 表單上對應的追蹤欄位會鎖定,因為它們應該只按下動作按鈕以程式設計方式設定。
-
核准 PO 需要購買核准許可權。 您可以以有許可權的 Andrew Cencini 登入,或以系統 管理員 > 權限將它提供給自己。 請注意,您能夠這麼做是 Northwind 不是生產品質應用程式的眾多原因之一。 在現實世界中,使用者將無法提升自己的許可權。
-
採購單中的明細專案會根據其數量進行驗證。 它至少必須是 [最小重新排序數量],最好是將庫存備份到每個產品設定的至少目標層級。
-
收到採購單 時,會叫用特殊處理來將這些產品發佈到 沒有 庫存狀態的訂單明細專案,並將它們設定為 [已配置]。 任何剩餘數量會傳送至庫存。 記錄會新增至 [股價 ] 數據表。
本節說明採購單窗體 frmPurchaseOrderDetails 的值得注意的實作詳細數據:
-
採購單窗體會從簡單的查詢 qryPurchaseOrder 取得其數據 (請參閱 RecordSource 屬性) 。 最佳做法是以簡單查詢為基礎建立數據輸入表單。 請注意,您不需要在此查詢中包含 PurchaseOrderDetails 數據表。 詳細數據是由子表單處理。 但查詢會與其他數據表聯結,以挑選只讀 狀態名稱、 SubmittedBy 和 ApprovedBy 字 段。
-
PurchaseOrderList 窗體可以開啟多個採購單表表體實例。 這非常實用,因為PO部門處理許多中斷,可能需要在第一個PO上工作時開啟另一個PO,或將它與第三個PO比較。 此處會記錄這項技術。
-
VendorID 會從兩欄下拉式方塊取得其值:隱藏的標識符欄,以及可見的 [描述] 欄。 這類下拉式方塊系結至簡單的雙欄查詢:請參閱 RowSource 屬性。
-
儲存記錄時,至少必須填寫 必要的 欄位。 在 Starter 版本中,我們讓 Access 預設行為發生;在此 Dev 版本中,我們實作了更方便用戶的技術,如下所述。
-
當 PO 狀態 移至 [收到] 時,會叫用特殊處理 (程式 配置ToInventory) ,以便透過等待這些產品的訂單散發新的庫存。
驗證
在 Northwind Dev 版本中實作的驗證碼只需要三行程式代碼:
-
在 Form_BeforeUpdate 中:Cancel = ValidateForm (Me)
-
在 Form_AfterUpdate: ValidateForm_RemoveHighlights Me
-
在 Form_Current 中:ValidateForm_RemoveHighlights我]
這是一個很好的模式:讓程式碼完全獨立,可讓您輕鬆地在任何地方實作。 專業開發人員可能會進一步瞭解這個問題,例如使用窗體子分類。 (這是超出 Northwind Dev.)
獨立的驗證碼接受要驗證的表單物件。 然後,它會檢查基礎 RecordsetClone 的窗體集合,找出哪些控件系結至必要字段,並檢查它們是否有值。 如果沒有,則會醒目提示它們。