Northwind 2.0 入門版:員工

Applies To
Access for Microsoft 365 Access 2021 Access 2019

下列各節將示範如何使用員工表單,以及如何對其進行程式設計。 提供物件名稱,方便您在 Northwind 2.0 Starter Edition 資料庫中檢查它們。

使用員工表單

以下是有關使用員工清單表單的重要詳細資料:

  • 從主功能表開始,從左側功能表中選取 [員工 ],會顯示右側工作區中 (sfrmMainMenu_EmployeeList) 的員工清單。
  • 每個員工的識別碼都是一個超連結,可讓您在快顯表單中開啟該員工的記錄,以編輯其詳細資料。
  • 若要新增員工,請按一下標題列最右側的 [ 新增員工 ] 按鈕,隨即會在快顯表單中開啟新員工記錄, (sfrmEmployeeDetail_OrderList) 新增其詳細資料。

使用員工詳細資料快顯表單

以下是有關使用員工詳細資料快顯表單的重要詳細資料:

  • frmEmployeeDetail) ([員工詳細資料] 快顯表單可讓您編輯和新增員工記錄。

  • 所有員工都必須填寫三個欄位:[名字]、[姓氏] 和 [職稱]。

  • Default Access 錯誤訊息會在嘗試儲存員工記錄之前,於一或多個未完成時提醒您。 不會將驗證套用至其他欄位,例如電子郵件地址和電話號碼。 使用者應負責正確格式設定,例如 (000) 000-000。 [標題] 下拉式控制項上的預設存取驗證會將項目限制為預先選取的值清單。 您可以使用值欄位控制項的預設 Access 行為,再次新增標題。 選取表單上的下拉式清單會顯示 [編輯] 圖示。

    多重值欄位

  • 員工相片會以附件欄位的形式儲存在資料表中。 您可以使用附件欄位的預設 Access 行為來新增影像或變更現有影像。

    附加圖片的範例

  • 如果員工已建立訂單,[員工詳細資料] 快顯視窗右側的子表單會在 [資料工作表檢視] 中列出這些訂單。

  • 您可以按一下 [訂單] 子表單 (sfrmOrderDetails) 中的超連結訂單識別碼 #,編輯該員工的任何現有訂單。

對員工表單進行程式設計

員工表單在表單的控制項中同時使用 VBA 和內嵌巨集來執行基本邏輯。 它們包含兩個獨立巨集和多個內嵌巨集。

員工清單

  • [員工清單] 表單 (sfrmMainMenu_EmployeeList) 從 RecordSource 屬性) 的簡單查詢 qryEmployeeList (取得其資料。 建議的做法是根據單資料表查詢來建立資料輸入表單。

  • [員工清單] 表單上的控制項已啟用 (表示您可以選取) 和鎖定 (表示其為唯讀)。

  • 以多重值欄位為基礎的標題欄位是下拉式清單或下拉式方塊。 其資料列來源是值清單,這表示可用的選擇性項目直接包含在該欄位內。 清單的 [限制至清單 ] 屬性設為「是」,因為此表單並非用來編輯。 多重值欄位只包含做為功能圖例,而不是建議。

  • 在員工清單 (sfrmMainMenu_EmployeeList) 中, 按鍵向上按鍵向下 事件上的兩個子程序會回應使用者在資料工作表檢視中的游標移動。 它們會偵測游標 (左、右、上或下) 移動的方向,並呼叫 VBA 函數,將焦點移至適當的控制項。

  • 您可以編輯現有的員工記錄,並在 frmEmployeeDetail) (詳細資料表單中新增員工記錄。

  • 您可以用兩種方式從員工清單開啟員工詳細資料表單,做為可編輯的彈出視窗:

    • 方法是選取 EmployeeID,其格式化為顯示為超連結,開啟 [員工詳細資料] 表單,然後篩選僅該員工記錄。
    • 選取表單標頭上的 [ 新增員工 ] 標籤,以開啟 [員工詳細資料] 表單,並將焦點移至新記錄。 所有目前的記錄都位在表單的記錄來源中。

    請注意,這兩種方法對效能的影響不同。 將表單篩選為單一記錄可將要從資料表傳輸的資料量降至最低。 如果記錄集較小,差異可能不會很明顯。

員工詳細資料

  • 員工詳細資料表單 (frmEmployeeDetail) 會從簡單的查詢 qryEmployeeDetails (表單的 RecordSource 屬性) 取得其資料。 建議使用單一資料表查詢來建立資料輸入表單。

  • qryEmployeeDetails 中的 SELECT 子句使用星號萬用字元 (*) 來選取資料表中的所有欄位,而 qryEmployeeList 中的 SELECT 子句會列出特定欄位。 使用萬用字元可以擷取基礎資料表中的新欄位,而不需要額外編輯查詢。 特定欄位清單無法這麼做。 特定欄位的清單會將記錄集限制為僅限顯示表單中需要的欄位。 您的設計應該基於考慮哪種方法更適合您的需求,儘管優先選擇最不可能需要未來維護的方法,也就是萬用字元的使用。

  • [員工詳細資料] 表單上的控制項已啟用且未鎖定,這表示您可以選取及編輯它們。

  • 以多重值欄位為基礎的標題欄位是下拉式清單或下拉式方塊。 其資料列來源是值清單,這表示可用的選擇性項目直接包含在該欄位內。 清單的 [限制至清單] 屬性設為「否」,因為此表單是用來編輯的。 新增或編輯標題會使用內建的 Access 方法,因此不需要程式碼。 多重值欄位只包含做為功能圖例,而不是建議。

  • 您可以在詳細資料表單中編輯現有的員工記錄和新的員工記錄。

  • 您可以用兩種方式從員工清單開啟員工詳細資料表單,做為可編輯的彈出視窗:

    • 選取 EmployeeID,其格式化為顯示為超連結,開啟 [員工詳細資料] 表單,然後僅篩選該員工記錄。
    • 選取表單標頭上的 [ 新增員工 ] 標籤,以開啟 [員工詳細資料] 表單,並將焦點移至新記錄。 所有目前的記錄都位在表單的記錄來源中。
  • 將表單篩選為單一記錄,可將要從資料表傳輸到表單的資料量降至最低。 使用較小的記錄集,例如範例資料,差異可能不會很明顯。

  • [個人資訊] 右側的子表單控制項 (sfrmEmployeeDetail_OrderList) 顯示目前所選取員工的訂單 (如果有) 。 子表單控制項中的子表單已從 [訂單 ] 區段重新用於。 子表單控制項的內建 Access LinkMasterFields/LinkChildFields 屬性會同步和篩選為每個員工顯示的記錄。

  • 在 frmEmployeeDetail) (員工詳細資料中,表單的 [ 目前事件時 ] 和 [ 關閉事件時 ] 上的兩個子程序會回應這些事件:

    • [目前] 會 根據目前記錄是否為現有記錄,或是新員工的記錄,已啟動但尚未儲存,而顯示或隱藏 [ 新增員工 ] 標籤。
    • 關閉會執行兩個維護動作。 它會重新查詢員工詳細資料子表單中的 Recordset,以更新詳細資料表單中所做的任何新增或變更。 它會呼叫該巨集,以重新同步顯示主功能表中的員工計數。

巨集

macMainMenu_UpdateSubs 此巨集是獨立的,會在特定事件發生時執行,包括員工表單。 在 macMainMenu_UpdateSubs 中,子巨集會依據其套用的功能進行分組。 針對員工,子巨集會將員工記錄計數與主功能表上顯示的計數同步處理。

內嵌巨集 員工表單主要是由包含在表單中且只能從表單編輯的內嵌巨集所驅動。 在員工清單中 (sfrmMainMenu_EmployeeList) :

  • EmployeeID 超連結 按一下 [員工清單] 表單中的 [EmployeeID] 會開啟 [員工詳細資料] 表單,並將焦點設定為選取的員工記錄。
  • 新增員工標籤 按一下 [ 新增員工 ] 按鈕會開啟 [員工詳細資料] 表單 (frmEmployeeDetail) ,並將焦點設定為新記錄。
  • 員工詳細資料 按一下標頭上的 [ 新增員工 ] 按鈕會儲存目前記錄,並將焦點設定為新記錄。

另請參閱

Northwind 2.0 入門版