ACCESS窗体中选中组合框(列表框或标签)内目标字段后字段显示其对应的字段
在ACCESS窗体中,有时候想要选中组合框内目标字段后字段显示其对应的字段,这个时候一般选择DLOOKUP函数。
DLookup函数可用于显示不在您的窗体或报表的记录源中的字段的值。例如,假设您有一个基于订单明细表。窗体显示的订单 Id、 产品 Id、 单价、 数量,和折扣字段。但是,ProductName 域是在另一个表中,产品表。无法在计算控件中使用DLookup函数相同的窗体上显示产品名称。
语法
DLookup ( expr、 域 [,criteria] )
DLookup函数语法具有以下参数:
参数 | 描述 |
expr | 必填。用于标识要返回其值的字段的表达式。很字符串表达式标识字段的表或查询,或者也可以是对该字段中的数据执行计算的表达式。在expr,您可以包括表、 窗体、 常量或函数中的控件中的字段的名称。如果expr包含函数,它可以是内置或用户定义的但不是另一个域聚合或 SQL 聚合函数。 |
域 | 必填。标识组成域的记录集的字符串表达式。它可以是表名称或不需要的参数查询的查询名称。 |
criteria | 可选。用于限制对其执行DLookup函数的数据区域中的字符串表达式。例如,条件通常是相当于 WHERE 子句中 SQL 表达式,没有单词位置。如果省略条件,则DLookup函数计算expr针对整个域。在条件中包含的任何字段也必须域; 中的字段否则, DLookup函数返回Null。 |
正常用法
用于数值型条件值:
DLookup("字段名称" , "表或查询名称" , "条件字段名 = n")
用于字符串型条件值:(注意字符串的单引号不能丢失)
DLookup("字段名称" , "表或查询名称" , "条件字段名 = '字符串值'")
用于日期型条件值:(注意日期的#号不能丢失)
DLookup("字段名称" , "表或查询名称" , "条件字段名 = #日期值#")
从窗体控件中引用条件值用法
用于数值型条件值:
DLookup("字段名称" , "表或查询名称" , "条件字段名 =" & forms!窗体名!控件名 )
用于字符串型条件值:(注意字符串的单引号不能丢失)
DLookup("字段名称" , "表或查询名称" , "条件字段名 = '" & forms!窗体名!控件名 & "'")
用于日期型条件值:(注意日期的#号不能丢失)
DLookup("字段名称" , "表或查询名称" , "条件字段名 = #" & forms!窗体名!控件名 & "#")
混合使用方法(支持多条件)
在这种方法中也可以在条件中写入固定的值。
DLookup("字段名称" , "表或查询名称" , "条件字段名1 = " & Forms!窗体名!控件名1 _& " AND 条件字段名2 = '" & Forms!窗体名!控件名2 & "'" _& " AND 条件字段名3 =#" & Forms!窗体名!控件名3 & "#")
例如,我想单价字段根据原料字段的内容而字段显示,这就需要DLOOKUP函数了。
在单价的字段属性中的控件来源中选择表达式,在表达式中填入
=DLookUp("字段1","表","条件字段='" & [组合框名] & "'")
例如 =DLookUp("价格","原料名称表","原料='" & [原料] & "'")
这个表达式的意思是:单价显示的内容=表"原料名称表”中价格字段的内容,条件是当表"原料名称表”中的字段“原料”等于组合框字段“原料”时。
当然,控件是列表框或标签也一样,就是最后的控件名称改下。
共有 0 条评论