Access VBA中Dlookup函数的问题
答案:3 悬赏:10 手机版
解决时间 2021-01-09 22:00
- 提问者网友:杀生予夺
- 2021-01-09 10:48
Access VBA中Dlookup函数的问题
最佳答案
- 五星知识达人网友:往事隔山水
- 2021-01-09 11:44
1.使用 DLookup函数可以从指定记录集(一个域)内获取特定字段的值。可以在 Visual Basic、宏、查询表达式、窗体或报表上的计算控件中使用 DLookup函数。Variant 型。
2.expression.DLookup(Expr, Domain, Criteria)
expression 必需。返回“Applies To”列表中的一个对象的表达式。
3.Expr 必需 String 型。用于标识需要返回其值的字段的表达式。可以是用来标识表或查询中字段的字符串表达式,也可以是执行字段中数据计算的表达式。在 expr 中,可以包含表中字段的名称、窗体上的控件、常量或函数。如果 expr 包括函数,则函数可以是内置的,也可以是用户自定义的,但不能是另一个域聚合函数或 SQL 聚合函数。
4.Domain 必需 String 型。字符串表达式,用于标识组成域的记录集。可以是一个表名称或查询名称。
5.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。
2.expression.DLookup(Expr, Domain, Criteria)
expression 必需。返回“Applies To”列表中的一个对象的表达式。
3.Expr 必需 String 型。用于标识需要返回其值的字段的表达式。可以是用来标识表或查询中字段的字符串表达式,也可以是执行字段中数据计算的表达式。在 expr 中,可以包含表中字段的名称、窗体上的控件、常量或函数。如果 expr 包括函数,则函数可以是内置的,也可以是用户自定义的,但不能是另一个域聚合函数或 SQL 聚合函数。
4.Domain 必需 String 型。字符串表达式,用于标识组成域的记录集。可以是一个表名称或查询名称。
5.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。
全部回答
- 1楼网友:神鬼未生
- 2021-01-09 13:31
=dlookup("[xxx]","表1","[是否在线]=-1"),
是为-1,否为0追问什么意思?没懂
是为-1,否为0追问什么意思?没懂
- 2楼网友:笑迎怀羞
- 2021-01-09 12:30
ElseIf Me.请输入密码 = DLookup("[密码]", "[用户表]", "[用户名] like '" & Me.请输入用户名 & "'") Then
改成
ElseIf Me.请输入密码 = DLookup("[密码]", "用户表", "[用户名] = ' " & Me.请输入用户名 & "'") Then
另外,你的窗体上的控件确实命名为“请输入用户名”?请仔细检查。追问就是因为=没用 我才改成Like
确定是有请输入用户名的追答
我编写的一个同样院里的登陆方式,你比较一下
Private Sub Command4_Click()
If Forms!登录!key = DLookup("[密码]", "用户信息", "[登录名] = Forms!登录!ID") Then
xingming = DLookup("[姓名]", "用户信息", "[登录名] = Forms!登录!ID")
style = DLookup("[权限]", "用户信息", "[登录名] = Forms!登录!ID")
bumen = DLookup("[部门]", "用户信息", "[登录名] = Forms!登录!ID")
DoCmd.Close
'MsgBox (xingming)
DoCmd.OpenForm ("导航")
'logg ("登陆")
Else
MsgBox ("请输入正确的用户名与密码!")
End If
End Sub
改成
ElseIf Me.请输入密码 = DLookup("[密码]", "用户表", "[用户名] = ' " & Me.请输入用户名 & "'") Then
另外,你的窗体上的控件确实命名为“请输入用户名”?请仔细检查。追问就是因为=没用 我才改成Like
确定是有请输入用户名的追答
我编写的一个同样院里的登陆方式,你比较一下
Private Sub Command4_Click()
If Forms!登录!key = DLookup("[密码]", "用户信息", "[登录名] = Forms!登录!ID") Then
xingming = DLookup("[姓名]", "用户信息", "[登录名] = Forms!登录!ID")
style = DLookup("[权限]", "用户信息", "[登录名] = Forms!登录!ID")
bumen = DLookup("[部门]", "用户信息", "[登录名] = Forms!登录!ID")
DoCmd.Close
'MsgBox (xingming)
DoCmd.OpenForm ("导航")
'logg ("登陆")
Else
MsgBox ("请输入正确的用户名与密码!")
End If
End Sub
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯