【发布时间】:2015-09-17 15:42:37
【问题描述】:
我有两个参数形成一个 FROM 和 THRU 文本框。代码对象是 txtFROM 和 txtTHRU。现在我尝试使用txtFROM.SetFocus and txtTHRU.SetFocus 打开查询和报告,并在查询条件中使用:Between [FORMS]![ReportName]![txtFROM].[Text] and [FORMS]![ReportName]![txtTHRU].[Text]。但是,当我将按钮链接到查询和报告以显示具有这两个参数的数据时,什么也没有出现。我认为这可能是由于 .SetFocus 方法只能对一个参数起作用,所以我认为如果可能的话,编写 VBA 变量以传递给查询可能会起作用。问题是我不知道是否可以在运行查询时调用 VBA 变量,因为它是一个对象。否则变量将读取 .SetFocus 以准备好传递给 Access 查询的参数。
DoCmd.SetWarnings False
If IsNull(txtFROM.Value) = False And IsNull(txtTHRU.Value) = False Then
dataFROM = CDate(txtFROM.Value)
dataTHRU = CDate(txtTHRU.Value)
End If
DoCmd.OpenQuery ("Expiring")
DoCmd.OpenReport ("Expirees"), acViewPreview
DoCmd.SetWarnings True
上面的变量 dataFROM 和 dataTHRU 将是我希望适合查询条件以引用显示报告的表单。
【问题讨论】:
-
这个建议还是行不通,抱歉!
-
请勿使用 .text 属性(即来自 VB6 或 vb.net)。在 Access VBA 和代码等中,您使用 .value 属性 - 切勿使用 .text 作为控件的一般参考。