如何解决MS Access DLookup 文本字段语法问题
在 Access 中遇到 DLookup 语法错误。
我试图从表 [fld_linear_foot]
中返回位于 [tbl_model_number]
列中的值——我的条件列标题为 [fld_model_number_official]
,并且条件列必须与组合框 {{ 1}}在我的表单上选择。
[cbx_model_number]
但是,这会得到一个“#NAME?”错误,我认为是因为存储在 fld_model_number_official 中的数据是基于文本的,而不是基于数字的。
我相信大部分错误问题源于 [fld_model_number_official] 存储为文本,而不是数字。但是,我尝试了多种引号布局,试图将其视为文本,但都没有奏效。
谁能解释一下这个简单的 Dlookup 哪里出错了?
解决方法
将对象名称括在引号中。嵌入组合框的完整路径引用应该可以工作。
=DLookUp("[fld_linear_foot]","[tbl_model_number]","[fld_model_number_official]=[Forms]![frm_estimator]![cbx_model_number]")
或者连接变量引用。如果字段是文本类型,请使用撇号分隔符。
=DLookUp("[fld_linear_foot]","[fld_model_number_official]='" & [cbx_model_number] & "'")
但是,域聚合函数会降低性能。更好的方法是在组合框 RowSource 中包含 fld_linear_foot 并按索引引用组合框列。如果数据在第 3 列,则其索引为 2:
=[cbx_model_number].[Column](2)
另一种方法是在表单 RecordSource 中包含查找表并将文本框绑定到字段。将这些控件设置为 Locked Yes 和 TabStop No 以防止编辑。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。