Access VBA教程:来自窗体上控件的日期与时间条件

如果要根据用户的决定来更改运算的 criteria参数,可以指定来自窗体上控件的条件。例如,可以指定来自“订单”表中含有订单日期的列表框控件的 criteria参数。

若要指定来自窗体上控件的日期与时间条件,可以在 criteria参数中包含引用该控件的表达式。该表达式应该和字符串表达式分开,这样 Microsoft Access 在执行相应运算之前将首先计算控件的表达式,并将它和字符串表达式的其余部分相连接。

除了要将整个字符串表达式括在双引号 (") 中以外,还必须确保字符串表达式中的日期或时间条件括在数字符号 (#) 中。数字符号必须位于引用窗体上控件的表达式两侧的字符串中。

注意   数字符号用于向 Microsoft Access 标明 criteria参数在字符串中包含了日期或时间。

下面的示例根据来自窗体上名为“雇用日期”控件的条件来设置窗体的 Filter 或 ServerFilter属性。注意数字符号的位置。


Forms!Employees.Filter = "[HireDate] >= #" _
 &     Forms!Employees!HireDate & "#"
Forms!Employees.FilterOn = True

– 或者 –

expr1 [NOT] IN (subquery)


Forms!Employees.ServerFilter = "[HireDate] >= #" _
 &     Forms!Employees!HireDate & "#"
Forms!Employees.FilterOn = True

如果 HireDate 控件的当前值为5-1-92,则“筛选”或“服务器筛选”属性将包含以下 criteria参数:


"[HireDate] >= #5-1-92#"

提示   若要解决 criteria参数中表达式的错误,最好将表达式拆分为较小的组件,并在“立即”窗口中逐个测试。当所有的组件都能正常工作时,再将它们组合在一起,直到整个表达式能够正常工作为止。

也可以在 criteria参数中包含代表日期或时间的变量。变量应该和字符串表达式分开。这样 Microsoft Access 将首先计算变量,然后再与字符串表达式的其余部分相连接。日期或时间条件必须括在数字符号中。

下面的示例显示如何构建一个 criteria参数,该参数包含代表日期或时间的变量:


Dim datHireDate As Date
datHireDate = #5-1-92#
Forms!Employees.Filter = "[HireDate] >= #" _
 &     datHireDate & "#"

上页:Access VBA教程:日期与时间条件表达式 下页:Access VBA教程:条件表达式中的多个字段

Access VBA教程:来自窗体上控件的日期与时间条件

Access VBA教程:条件表达式中的多个字段 Access VBA教程:来自窗体上控件的数值条件
Access VBA教程:数值条件表达式 Access VBA教程:来自窗体上控件的文本条件
Access VBA教程:文本条件表达式 Access VBA教程:创建包含变量和控件的 SQL 语句
Access VBA教程:字符串中的引号 Access VBA教程:域聚合函数
Access VBA教程:在 Microsoft Access 2002 中使用 ActiveX 数据对象 Access VBA教程:AboutBox方法(快照查看器)
Access VBA教程:AccessError方法 Access VBA教程:AddMenu方法
Access VBA教程:ApplyFilter方法 Access VBA教程:Beep方法
Access VBA教程:CancelEvent方法 Access VBA教程:Close方法
Access VBA教程:CopyObject方法 Access VBA教程:DeleteObject方法
Access VBA教程:DoMenuItem方法 Access VBA教程:FindNext方法
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号