2014-02-23 127 views
1

我试图将报告中的单个记录保存为PDF文件。使用Access 2010。我得到这个工作,但我需要把一个开始日期和结束日期,我似乎无法弄清楚语法。这是我到目前为止:Docmd.openreport Where子句语法

DoCmd.OpenReport "Rpt Form Responses", acViewReport, , "[Facility Number]=" & temp & _ And [Service Date] Between & begindate And enddate; 

顶线工作正常,但是当我添加第二个我不能得到它的工作。我已经尝试了所有限定符',"#以及许多不同的语法变体,但没有运气。

begindate和enddate是我从输入框中捕获的字符串。我应该改变这些日期吗?我在这里做了大量的阅读,并基于建议,我想在表单上放置一个文本框来开始和结束,但我想我宁愿做输入框。

回答

5

您确定您上面张贴的语法是准确的,因为它不正确。

  1. 我假设'temp'是数字,否则你需要用单引号括起来;
  2. 里边反续行缺少龙头“后面有一个空格;
  3. 缺少引号,周围空间的and和

你可以逃脱的日期字符串,只要你不喜欢的东西:

begindate = #1/1/2005# 
enddate = #1/1/2012# 

这里是什么,我相信你的语法应该像(我测试和它的作品):

DoCmd.OpenReport "Rpt Form Responses", acViewReport, , "[Facility Number]=" & temp & _ 
    " And [Service Date] Between #" & begindate & "# And #" & enddate & "#"