下列各節說明如何使用員工表單,以及如何進行程序設定。 提供的物件名稱可讓您輕鬆地在 Northwind 2.0 Starter Edition 資料庫中進行檢查。
以下是使用員工清單表單的重要詳細資料:
-
從主功能表開始,從左側的功能表中選取 [ 員工 ] 會在右側的工作區中顯示員工 (sfrmMainMenu_EmployeeList) 清單。
-
每個員工的標識碼都是超連結,可在彈出窗體中開啟該員工的記錄,以編輯其詳細數據。
-
若要新增員工,請按兩下標題列最右側的 [ 新增員工 ] 按鈕,該按鈕會以快顯表單開啟新員工記錄 (sfrmEmployeeDetail_OrderList) 以新增其詳細數據。
以下是有關使用員工詳細數據快顯表單的重要詳細數據:
-
員工詳細數據快顯表單 (frmEmployeeDetail) 啟用編輯和新增員工記錄。
-
所有員工都必須有三個字段:名字、姓氏和職稱。
-
在嘗試儲存員工記錄之前,預設 Access 錯誤訊息會在未完成一或多個時提醒您。 不會將驗證套用至其他欄位,例如電子郵件地址和電話號碼。 用戶必須負責適當的格式設定,例如 (000) 000-000。 [標題] 下拉式控件上的預設 Access 驗證會將專案限制為預先選取的值清單。 您可以再次使用值欄位控制元件的預設 Access 行為來新增 [標題]。 選取表單上的下拉式清單會顯示編輯圖示。
-
員工圖片會以附件欄位的形式儲存在數據表中。 您可以使用附件欄位的預設 Access 行為來新增影像或變更現有的影像。
-
如果員工已建立訂單,員工詳細數據快顯右側的子窗體會在 [數據工作表檢視] 中列出這些訂單。
-
您可以在 [訂單] 子窗體 (sfrmOrderDetails) 中,按兩下超連結的 [訂單標識符] 來編輯該員工的任何現有訂單。
員工窗體會在表單上的控件中同時使用 VBA 和內嵌宏,以執行基本邏輯。 它們包含兩個獨立的宏和數個內嵌宏。
員工清單
-
[員工清單] 表單 (sfrmMainMenu_EmployeeList) 從 RecordSource 屬性) 的簡單查詢 qryEmployeeList (取得其數據。 建議的做法是以單一數據表查詢為基礎的數據輸入表單。
-
員工清單表單上的控制項會啟用,也就是說,您可以選取控件並鎖定這些控件,這表示它們是唯讀狀態。
-
[標題] 字段是以多重值字段為基礎的下拉式方塊或下拉式方塊。 其數據列來源是值清單,這表示可用的選擇性專案會直接包含在該字段內。 清單的 [ 清單限制 ] 屬性設為 [是],因為此窗體不適用於編輯。 多重值欄位只會包含為功能的圖例,而不是建議。
-
在員工清單 (sfrmMainMenu_EmployeeList) 中, 按鍵向上 鍵和 向下鍵 事件兩個子程式會在 [資料工作表檢視] 中回應使用者的游標移動。 它們會偵測游標移動的方向, (向左、向右、上方或下方) ,並呼叫將焦點移至適當控件的 VBA 函數。
-
您可以在詳細數據表單 (frmEmployeeDetail) 編輯現有的員工記錄,並新增新記錄。
-
您可以透過下列兩種方式之一,從員工清單中開啟員工詳細資料表單,做為可編輯的快顯表單:
-
選取已格式化為超連結的 [員工標識符],開啟員工詳細數據表單,並僅篩選該員工記錄。
-
選取窗體標題上的 [ 新增員工 ] 卷標來開啟員工詳細數據窗體,並將焦點移至新記錄。 所有目前的記錄都在表單的記錄來源中。
請注意,這兩種方法可能會對效能產生不同的影響。 將表單一記錄會將要從資料表傳輸的數據量降到最低。 使用小型記錄集時,差異可能不明顯。
-
員工詳細數據
-
員工詳細數據表單 (frmEmployeeDetail) 從表單的 RecordSource 屬性) ,從簡單的查詢 qryEmployeeDetails (取得其數據。 建議的做法是以單一數據表查詢為基礎的數據輸入表單。
-
qryEmployeeDetails 中的 SELECT 子句使用星號通配符 (*) 來選取數據表中的所有字段,而 qryEmployeeList 中的 SELECT 子句會列出特定欄位。 使用通配符可讓您在不需要額外編輯查詢時擷取基礎表中的新欄位。 特定欄位清單中無法使用此功能。 特定欄位的清單只會將 Recordset 限制為僅顯示表單中所需的欄位。 您的設計應根據哪些方法更適合您的需求來進行,但偏好設定應移至未來最不需要維護的方法,也就是使用通配符。
-
員工詳細數據表單上的控制件會啟用且不會鎖定,這表示您可以選取及編輯它們。
-
[標題] 字段是以多重值字段為基礎的下拉式方塊或下拉式方塊。 其數據列來源是值清單,這表示可用的選擇性專案會直接包含在該字段內。 此清單的 [ 清單限制 ] 屬性設為 [否],因為此表單是用於編輯。 新增或編輯標題使用內建的 Access 方法,因此不需要任何程式代碼。 多重值欄位只會包含為功能的圖例,而不是建議。
-
您可以在詳細資料表單中編輯現有的員工記錄和新記錄。
-
您可以透過下列兩種方式之一,從員工清單中開啟員工詳細資料表單,做為可編輯的快顯表單:
-
選取已格式化為顯示為超連結的 [員工標識符],開啟員工詳細數據表單,並僅篩選該員工記錄。
-
選取窗體標題上的 [ 新增員工 ] 卷標來開啟員工詳細數據窗體,並將焦點移至新記錄。 所有目前的記錄都在表單的記錄來源中。
-
-
將表單一記錄會將要從資料表傳輸到表體的數據量降到最低。 使用小型記錄集,例如範例數據,差異可能不明顯。
-
[ 個人資訊] n 右側 (sfrmEmployeeDetail_OrderList) 子表單控件會在有任何) 時顯示目前所選員工 (的訂單。 子表單控件中的子窗體會從 [ 訂單 ] 區段重新設定。 子表單控件的內建 Access LinkMasterFields/Link必要 項目屬性會同步處理及篩選每位員工所顯示的記錄。
-
在員工詳細數據 (frmEmployeeDetail) 中,表單的 On Current Event 和 On Close Event 上的兩個子程式會回應這些事件:
-
在 [目前 ] 上顯示或隱藏 [ 新增員工 ] 卷標,取決於目前的記錄是否為現有記錄,或是新進員工的記錄何時開始但尚未儲存。
-
在 [關閉] 上 會執行兩個維護動作。 它會重新查詢員工詳細數據子窗體中的 Recordset,以更新詳細資料表單中的任何新增或變更。 它會呼叫該宏,以重新同步處理主功能表中員工計數的顯示。
-
巨集
macMainMenu_UpdateSubs 這個宏是獨立的,會在特定事件發生時執行,包括員工窗體。 在macMainMenu_UpdateSubs中,子宏會根據所套用的功能分組。 如果是員工,子宏會將員工記錄計數與主功能表上顯示的計數同步處理。
內嵌宏 員工表單主要是以窗體內含的內嵌宏為導向,而且只能從表單進行編輯。 在員工清單中 (sfrmMainMenu_EmployeeList) :
-
EmployeeID 超連結 按兩下員工清單表單中的 [員工標識符] 會開啟 [員工詳細資料] 表單,並將焦點設為選取的員工記錄。
-
新增員工標籤 按兩下 [ 新增員工 ] 按鈕會開啟員工詳細資料表單 (frmEmployeeDetail) ,並將焦點設定為新記錄。
-
員工詳細數據 按兩下頁首上的 [ 新增員工 ] 按鈕會儲存目前的記錄,並將焦點設為新記錄。