Access VBA教程:DLookup方法

使用 DLookup函数可以从指定记录集(一个域)内获取特定字段的值。可以在 Visual Basic、宏、查询表达式、窗体或报表上的计算控件中使用 DLookup函数。Variant 型。

expression.DLookup(Expr, Domain, Criteria)

expression   必需。返回“Applies To”列表中的一个对象的表达式。

Expr  必需 String 型。用于标识需要返回其值的字段的表达式。可以是用来标识表或查询中字段的字符串表达式,也可以是执行字段中数据计算的表达式。在 expr 中,可以包含表中字段的名称、窗体上的控件、常量或函数。如果 expr 包括函数,则函数可以是内置的,也可以是用户自定义的,但不能是另一个域聚合函数或 SQL 聚合函数。

Domain  必需 String 型。字符串表达式,用于标识组成域的记录集。可以是一个表名称或查询名称。

Criteria  可选 Variant 型。可选的字符串表达式,用于限制 DLookup函数执行的数据范围。例如,criteria 通常等价于 SQL 表达式中的 WHERE 子句,只是不含 WHERE 关键字。如果省略 criteria,DLookup函数将在整个域计算 expr。任何包含在 criteria 中的字段必须同时也是 domain 中的字段,否则 Dlookup函数将返回Null。

说明

使用 Dlookup 可以显示窗体或报表数据源以外的字段值。例如,假定有一个基于“订单明细”表的窗体,显示“订单ID”、“产品ID”、“单价”、“数量”和“折扣”字段。而“产品名称”字段则位于另一个表,“产品”表中。通过在计算控件中使用 Dlookup 可以在同一窗体上显示“产品名称”。

DLookup函数将基于 criteria 中指定的信息返回单个字段的值。虽然 criteria 是可选参数,但如果不为 criteria 提供数值,则 Dlookup函数将返回域中的一个随机值。

如果没有记录满足 criteria,或者 domain 中没有任何记录,则 DLookup函数将返回 Null。

如果有多个字段与条件相符,DLookup函数将返回第一个匹配字段。用户应该指定条件以确保 DLookup函数返回的字段值是唯一的。可以在条件中使用主键值,例如在下例中使用[雇员ID] 来确保 DLookup函数返回唯一的值:


Dim varX As Variant
varX = DLookup("[LastName]", "Employees", "[EmployeeID] = 1")

无论是在宏、模块、查询表达式,还是在计算控件中使用 DLookup函数,都必须仔细地构造 criteria参数以确保能够正确地进行计算。

在查询的“条件”行、查询的计算字段表达式中或更新查询的“更新到”行中,均可以使用 DLookup函数来指定条件。

如果要显示的字段不在窗体或报表所基于的数据源中,则也可以在窗体或报表上计算控件中的表达式中使用 DLookup函数。例如,假定有一个基于“订单明细”表的“订单明细”窗体,窗体上有一个显示“产品ID”字段的、名为“产品ID”的文本框。若要根据文本框中的值从“产品”表查阅“产品名称”,则可以另外创建一个文本框并将其ControlSource属性设为以下表达式:


=DLookup("[ProductName]", "Products", "[ProductID] =" _
     & Forms![Order Details]!ProductID)

提示

注意   使用该函数时,对 domain 中记录所做的未保存更改将不包括在内。如果要让 DLookup函数基于更改后的值,必须先保存更改,方法是:单击“文件”菜单上的“保存记录”,将焦点移到另一个控件上,或者使用Update方法。

上页:Access VBA教程:DLast方法 下页:Access VBA教程:DMax方法

Access VBA教程:DLookup方法

Access VBA教程:DMax方法 Access VBA教程:DMin方法
Access VBA教程:Dropdown方法 Access VBA教程:DStDev方法
Access VBA教程:DStDevP方法 Access VBA教程:DSum方法
Access VBA教程:DVar方法 Access VBA教程:DVarP方法
Access VBA教程:Echo方法 Access VBA教程:Eval方法
Access VBA教程:ExportXML方法 Access VBA教程:Find方法
Access VBA教程:FirstPage、LastPage、NextPage、PreviousPage方法 (Snapshot Viewer) Access VBA教程:Follow方法
Access VBA教程:FollowHyperlink方法 Access VBA教程:GetHiddenAttribute方法
Access VBA教程:GetOption方法 Access VBA教程:GoToPage方法
Access VBA教程:GUIDFromString方法 Access VBA教程:HyperlinkPart方法
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号