Vague Sonore Asked: 2019-08-21 08:19:27 +0800 CST2019-08-21 08:19:27 +0800 CST 2019-08-21 08:19:27 +0800 CST ACCESS 查询中的 DlookUp 函数 772 我正在处理 2 个链接在一起的数据库:Action Items List 和 UserInfo。我已经从我的 Sharepoint 站点导入了操作项目列表。 我试图只显示符合条件 [输入您的姓名] 的“操作”。为此,我查看了两个数据库的关系,我们可以看到“Owner.Value”(“Action Items list”数据库的文本属性)连接到“ID”(UserInfo 的外键)数据库)。为了获得预期的结果,我运行查询并输入我的姓名,但出现以下错误: 也许有人可以帮助我。我依靠你的专业知识。预先感谢您对我们的支持! database microsoft-access 1 个回答 Voted Best Answer Lee Mac 2019-08-21T14:24:26+08:002019-08-21T14:24:26+08:00 首先,要更正您的DLookup表达式:由于条件是过滤文本字段 ( Name) 的值,因此用于过滤器的值必须用单引号或双引号引起来,否则结果将是: Name = Thomas Orvain 在生成的 SQL 中将WithThomas和Orvain视为单独的字段。 要解决此问题,您可以将DLookup表达式更改为: DLookup("Name", "UserInfo", "Name = '" & [Enter your name] & "'") 但是,因为你已经构造了一个INNER JOINbetween the Action Items Listtable & UserInfotable,所以DLookup表达式根本就不需要了。 相反,您可以直接将选择条件应用于该Name字段,例如将以下内容复制到查询的 SQL 视图中: select [Action Items List].Action, [Action Items List].Status, [Action Items List].Owner.Value from [Action Items List] inner join UserInfo on [Action Items List].Owner.Value = UserInfo.ID where UserInfo.Name = [Enter your name]
首先,要更正您的
DLookup
表达式:由于条件是过滤文本字段 (Name
) 的值,因此用于过滤器的值必须用单引号或双引号引起来,否则结果将是:在生成的 SQL 中将With
Thomas
和Orvain
视为单独的字段。要解决此问题,您可以将
DLookup
表达式更改为:但是,因为你已经构造了一个
INNER JOIN
between theAction Items List
table &UserInfo
table,所以DLookup
表达式根本就不需要了。相反,您可以直接将选择条件应用于该
Name
字段,例如将以下内容复制到查询的 SQL 视图中: