无法加入备注,OLE或超链接对象 - Access 2007 - 外连接

时间:2012-12-20 21:12:50

标签: sql database join outer-join

我在Access 2007中有2个这样的表...

 Table 1 - tbEmployees Details
           FieldName      Data Type
      PK   *ID            Autonumber 
           EmployeeID     Number
           First          Text
           ....           ...

 Table 2 - tbEmployeesQualification
           FieldName    Data Type
     PK   *ID           Autonumber  
           CV (attachment)  Attachment  
           Qualification / Certificate (memo box)
           Skills (memo box)

我处于关系的设计阶段。我正在尝试使用上表中的外部联接,因为我想为每个员工附加CV。我尝试了以下内容。 将ID从tbEmployees Details拖到tbEmployeesQualification上。然后出现加入属性屏幕...

   Left Table  -            Right Table -
   tbEmployees Details      tbEmployeesQualification 
   Left Column -            Right Column 
   ID                       Qualification / Certificate

我选择了选项2 - 包含来自....的所有记录,其中连接字段相等。

为了测试这个,我使用了Query。当我使用查询向导时,似乎查询显示的结果包括来自tbEmployees的所有数据详细信息和所有数据tbEmployeesQualification但

当我使用查询设计时,我收到以下错误...

Cannot join on Memo, OLE, or Hyperlink Object ([tbEmployees Details].ID=[     
tbEmployeesQualification].[Qualification/Certificate])

错误是正确的。我知道ID具有自动编号作为数据类型,并且来自tbEmployeesQualification的资格/证书作为备忘录数据类型,因此不能使用内部连接。所以我的问题是如何解决这个问题?或者可以通过使用外连接来解决,还是我需要做一些我没见过的其他事情?

提前感谢您回答我的问题。

编辑 - 我认为外键可能就是答案。我刚刚在tbEmployeesQualification中添加了数据类型为ID的ID。创建一对多关系一个是tbEmployees Details,很多是tbEmployeesQualification。我很快就会更新。

1 个答案:

答案 0 :(得分:1)

通过使用一对多关系解决了问题。在tbEmployees表中,我将First Name放在字段名称(PK)中,数据类型为Text。在tbEmployeesQualification表中,我再次使用数据类型Text创建了字段名称FirstName。我将tbEmployees表(一)链接到tbEmployeesQualification表(很多)。这解决了这个问题。