0

我使用的MS Access 2016和我創建的表(實體)的員工,管理者具有以下屬性:MS Access表關係

Employees 
    -EmployeeId (Primary key) 
    -Name 
    -LastName 
    -Email 
    -Phone 

    Managers 
    -ManagerId (Primary Key) 
    -EmployeeId (Foreign Key & Unique) 
    -Position 

我想創建2個實體滿足之間的關係如下要求:

  1. 經理(EmployeeId)是一個獨特的價值。
  2. 在管理者表中的每個記錄必須有在僱員表中的記錄(因爲經理是僱員)

我可以創建表之間的一對一的關係,我認爲這是好的因爲只有一個ManagerIdEmployeeId(當員工實際上是一個經理),但我的問題是,當我在我的Employees表中添加一條記錄訪問迫使我有一個記錄在管理器表中,即使當我添加一個員工表的非經理。我非常感謝有關如何在兩個表格之間創建關係的任何建議。

回答

2

當使用視覺關係窗口定義關係時,Access通常很好地確定哪個是主表,哪個是基於相關字段的索引的「相關」表。但是,對於兩個字段上的索引都是唯一的1對1關係,Access會使用您單擊的第一個表作爲主表,第二個表(將第一個字段拖到第一個表上)作爲相關表。因此,它需要在可以添加相關表記錄之前將值存儲在主表中。我假設你通過點擊和拖拽錯誤的順序/方向來定義關係。

刪除表格之間的現有關係。然後通過首先單擊Employees.EmployeeId字段,然後將該字段拖到Managers.EmployeeId來重新定義關係。彈出的關係窗口左側應顯示Table/Query: Employees,右側顯示Related Table/Query: Managers

+0

那麼,那項工作。我將在未來考慮這一點。謝謝你的幫助。 – Fxbaez