You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Access中DLookup函数返回错误或空值的问题求助

Access中DLookup函数返回错误或空值的问题求助

问题描述

我希望在表单字段中通过名称从指定查询中获取对应的金额值,但当前使用的DLookup函数要么报错,要么返回空字段,无法正常显示数据。我写的函数代码如下:

=DLookUp("[Výpočet vaplacené peníze od číšníků Dotaz]![Sum Of Vyplaceno]";
"[Výpočet vaplacené peníze od číšníků Dotaz]";
"[Jméno_Tabulka výplaty manažer 1].[Column](1)"=
"[Výpočet vaplacené peníze od číšníků Dotaz]![Personál jméno]"
)

问题分析与解决方案

你的DLookup函数存在几个明显的语法和逻辑问题,我来帮你拆解并修正:

1. 字段参数的冗余前缀

DLookup的第一个参数是要返回的目标字段名,不需要带上查询的前缀([查询名]!),直接写字段本身的名称Sum Of Vyplaceno就可以了。

2. 条件语句的逻辑错误

你当前的条件写法是在比较两个字段名的字符串,而不是控件的实际值和查询字段的值。另外,字符串类型的匹配条件必须用单引号包裹变量值,同时要正确引用表单控件的属性。

3. 控件引用的正确方式

如果Jméno_Tabulka výplaty manažer 1是当前表单上的组合框,要获取它的第二列(Column(1))的值,直接引用该控件的属性即可,不需要额外的冗余语法。

修正后的最终代码

根据你的需求,修正后的DLookup函数如下(注意参数分隔符用分号,符合捷克语Access的设置;如果是英文环境,请将分号替换为逗号):

=DLookUp("Sum Of Vyplaceno"; "[Výpočet vaplacené peníze od číšníků Dotaz]"; "[Personál jméno] = '" & [Jméno_Tabulka výplaty manažer 1].[Column](1) & "'")

额外检查要点

  • 确认组合框Jméno_Tabulka výplaty manažer 1的Column(1)确实包含正确的名称值,且与查询中Personál jméno字段的内容完全匹配(包括空格、特殊字符,Access字符串匹配通常不区分大小写,但特殊场景需注意)。
  • 先单独运行查询[Výpočet vaplacené peníze od číšníků Dotaz],确认它能正常返回Sum Of Vyplaceno和Personál jméno字段的有效数据。

备注:内容来源于stack exchange,提问作者Miroslav Gédus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 10:54:34