首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >选择“从表单到更改日期”

选择“从表单到更改日期”
EN

Stack Overflow用户
提问于 2014-02-12 18:48:33
回答 1查看 83关注 0票数 0

我在Access 2010中有一个报告查询,可以让用户看到今天预计的出货量。用户对我的一个要求是,我制作一个表单,让他们也能看到整个星期的预测(星期一-星期五),或者他们可以选择一个日期,然后看到对未来日期的预测。

因此,基本上,我想要创建一个表单,用户可以选择一周中的某一天,或者使用一个数据机来选择一个特定的日期。然后利用vba更改SQL的where子句以生成当天的报表。

我的假设是使用一个包含一周中的时间的Listbox,但出于某种原因,我觉得我的做法是错误的。任何关于发展这方面的指导或建议。

最新情况**

我为图像的大小道歉。正如我所说的,我希望用户在列表框中选择一周中的一天,然后当他们单击查看查询时,它将根据所选的值更改where子句。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-12 19:10:15

使用DatePicker。您所需要做的就是让SQL get在运行中构建如下所示:

代码语言:javascript
运行
复制
Dim strSQL as String
Dim qd As QueryDef

strSQL = "SELECT * FROM MyTable WHERE MyDateField = '#" & Me.txtMyDate & "#'"

Set qd = CurrentDB.CreateQueryDef("MyReportQuery", strSQL)

现在应该有一个名为MyReportQuery的查询,您可以将它用作报表的RecordSource。好消息是,您可以对RecordSet名称进行硬编码,因为每次运行它时都要重新创建它。只是不要忘记在检查中添加一些代码,以查看查询是否已经存在,如果已经存在,则会删除它。

编辑:作为记录,许多Access MVP实际上建议您通过这样做删除现有的查询:

代码语言:javascript
运行
复制
On Error Resume Next
CurrentDB.QueryDefs.Delete "MyReportQuery"
On Error GoTo 0 ' or your own error-handler

如果存在查询,则将删除该查询。如果没有,接下来的简历将强制代码忽略错误并继续。然后重置On错误以转到您自己的错误处理程序。如果代码中没有错误处理程序,那么就错了。*o)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21736922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档