2011-02-22 51 views
0

我有一个Access数据库,我想存储在一个公司联系人: 在这个数据库中我有一个表命名为“用户”在那里我保持有权访问数据库的用户 。在主表,命名为“联系人”, 我的两个领域“insert_user”和“contact_user”的指代谁进入联系人信息,究竟是谁做出的接触用户的用户 。 我想这样做,我将不得不将两个字段都设置为外键 到同一个表/字段,即“用户”/“用户名”。VB.Net与访问 - 设置两个外键,引用同一个表/场

所以: 我在两个不同的领域(“insert_user”,“contact_user”),这指的是同一台/场(“用户” /“用户名”)中设置两个外键约束一个 Access数据库,使用VB.Net OLEDB(请参阅下面的SQL语句)

ALTER TABLE contacts ADD CONSTRAINT insert_user_foreignkey FOREIGN KEY (insert_user) REFERENCES users (username) 
ALTER TABLE contacts ADD CONSTRAINT contact_user_foreignkey FOREIGN KEY (contact_user) REFERENCES users (username) 

我打开与MS-访问数据库。 我看到所有的表都没问题(因为他们应该是)。

然而,当我点击的关系在访问我让我所有的表加上一个名为users_1连接到“联系人” /“contact_user”表(该表的用户只连接到“联系人” /“insert_user”)

奇怪的是,在Access的表格视图中,我没有看到这个表格,只能在关系视图中看到。

问题

  • 是我的思路正确(设置2个外键,引用同一个表/场)?
  • 这是什么表 “users_1”
  • 请问我的数据库工作还是我做错了什么?

回答

1

这是当一个表多次使用该访问建立关系的方式。如果您添加了另一个关系,则将针对users_2等。这只是一个别名,而不是一个新表。