我正在尝试从下面代码中的表格中获取表格中的值' tblJobTitles'。我想要获取的价值是' JobTitle'不幸的是,在控制盒中我一直得到#Name?错误。我试图调整属性但是我试着给我同样的错误。
注意:如果我尝试这样做而不加入&#t; tblContacts' to' tblJobTitles'并且只使用&#t; tblContacts',我可以在表单上的字段中成功检索作业标题,只是它从作业标题表中返回数字唯一ID号。是否可以重新格式化以返回文本值?
{{1}}
答案 0 :(得分:2)
#Name
错误可能有几个不同的来源。这意味着Access无法描绘字段或属性,因为:
因此,在您的查询中,您说,"从这两张表中提供所有内容。"
当您有2个相同的字段并运行查询并查看结果时,Access会将表名预先挂起到该字段。 (tblContact.JobTitle
和tblJobTitle.JobTitle
)。这是因为它识别出两个表中都有重叠(相同)的字段名称,因此需要将它们标识为唯一值。您可能已经忘记在控制源前面添加表名,但最好明确指出您的位置。
当您在控件中引用字段JobTitle
时,Access会想知道您引用了哪个字段,因为JobTitle
位于表格的 中。这是一些人使用别名的原因,例如:tblContact.JobTitle AS ContactJobTitle, tblJobTitle.JobTitle AS [Job_Title]
。这样,您就可以非常明确地告诉Access您指的是哪个字段。
从查询中选择字段时,您应该明确。
众所周知, SELECT Table.*
存在性能问题,如果您在控件中使用这些字段,则无法充分引用要从中选择的字段(如果有的话)表中重叠。)
感谢@HansUp以及纠正。
希望这有帮助。