【发布时间】:2013-11-15 23:40:15
【问题描述】:
我正在拔头发,因为我只是看不出这里有什么问题。我怀疑这是一个简单/愚蠢的错误,但只是看不到它。我是一个相对缺乏经验的 VBA 程序员,但我喜欢认为自己有足够的知识来应付大多数编程语言。
问题 我有一个简单的发票系统。我想要生成的报告之一是特定日期之后所有发票问题的报告。
为此,我创建了一个报告“所有发票查询”,它使用同名查询来生成系统中所有发票的摘要并提供单行摘要(日期、金额、已付款标志)
我想对此进行修改,以便将打印输出限制为特定日期之后的发票。
我在仪表板中创建了一个字段(文本框;格式短日期)来保存日期和一个按钮来“运行”报告 按钮调用程序
Private Sub ButtonAfterDate_Click()
DoCmd.OpenReport "All invoice query", acViewPreview, , "[Invoice date] > #" & Me.Printdate & "#"
End Sub
这会生成一个包含系统中所有发票的报告(即没有过滤)
如果我转到保存 [Invoices] 中的数据的表格并从那里复制日期并将其粘贴到表单控件中,则报告开始工作并且报告仅显示日期之后的发票。
我检查了我的表单控件是否设置为短日期,我尝试输入日期并使用日期选择器选择它(没有差异仍然无法过滤)
无奈之下,我尝试将控件更改为列表框,该列表框使用查询从 Invoice 表中提取日期(但是失败了,所以回到我原来的控件按钮和字段来保存日期(使用日期选择器)
总结 如果我将表格中的日期复制并粘贴到表单控件中,则 OpenReport 的行为与预期和过滤器相同 如果我键入日期或使用日期选择器将日期放入表单控件中,OpenReport 会忽略任何过滤并显示所有发票摘要。
这似乎是一个数据类型问题,但不知道下一步该尝试什么
提前感谢您的帮助
【问题讨论】: