0

私はMS Accessの2016を使用していると私は次の属性を持つテーブル(エンティティ)従業員と管理者を作成しました:私は、次を満たす2つのエンティティ間のリレーションシップを作成しようとしていますMS Accessのテーブル関係

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

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

要件:

  1. マネージャ(EmployeeId)は一意の値です。マネジャーテーブル内のすべてのレコードのための
  2. は、私はテーブル間の1対1の関係を作成することができます

(管理者が従業員であるため)、従業員テーブル内の1つのレコードが存在しなければならないと私はそれは大丈夫だと思います私は、Employeesテーブルにレコードを追加したときに、私はマネージャテーブルにレコードを追加しなければなりません。非マネージャーをEmployeesテーブルに追加します。どのように私は2つのテーブル間の関係を作成することができます上の任意の提案は非常に感謝しています。

答えて

2

視覚的なリレーションシップウィンドウを使用してリレーションシップを定義するとき、アクセスは通常、プライマリテーブルと、関連するフィールドのインデックスに基づく「関連」テーブルを決定するうえで良い仕事です。しかし、両方のフィールドのインデックスが一意である1対1の関係では、Accessは最初のテーブルをプライマリテーブルとして使用し、2番目のテーブル(最初のフィールドをドラッグしたテーブル)を関連テーブルとして使用します。したがって、関連テーブルレコードを追加する前に、プライマリテーブルに値を入れる必要があります。私はあなたが間違った順序/方向にクリックしてドラッグすることによって関係を定義したと仮定します。

テーブル間の既存の関係を削除します。次に、Employees.EmployeeIdフィールドを最初にクリックし、そのフィールドをManagers.EmployeeIdにドラッグすることによって、関係を再定義します。関係ウィンドウには、左側にTable/Query: Employeesが表示され、右側にRelated Table/Query: Managersと表示されます。

+0

さて、その仕事。私はこれを前向きに検討していきます。ご協力いただきありがとうございます。 – Fxbaez

関連する問題