Sql Docmd.openreport Where子句语法

Sql Docmd.openreport Where子句语法,sql,vba,ms-access-2010,Sql,Vba,Ms Access 2010,我正在尝试将报表中的单个记录保存为PDF文件。使用Access 2010。我让它工作了,但我需要输入开始日期和结束日期,我似乎无法理解语法。以下是我到目前为止的情况: DoCmd.OpenReport "Rpt Form Responses", acViewReport, , "[Facility Number]=" & temp & _ And [Service Date] Between & begindate And enddate; 顶行可以正常工作,但当我添

我正在尝试将报表中的单个记录保存为PDF文件。使用
Access 2010
。我让它工作了,但我需要输入开始日期和结束日期,我似乎无法理解语法。以下是我到目前为止的情况:

DoCmd.OpenReport "Rpt Form Responses", acViewReport, , "[Facility Number]=" & temp & _ And [Service Date] Between & begindate And  enddate;
顶行可以正常工作,但当我添加第二行时,我无法使其工作。我尝试了所有的限定词
#
以及许多不同的语法变体,但都没有成功


begindate和enddate是我从输入框中捕获的字符串。我是否应该将它们更改为日期?我在这里做了大量阅读,并且根据建议,我考虑在表单上放置一个文本框作为开始和结束,但我想我更愿意使用输入框。

您确定上面发布的语法是准确的,因为它是正确的吗不对

  • 我假设“temp”是数字,否则需要用单引号括起来
  • t续行缺少前导字符,后跟空格
  • 缺少引号、和之间的空格
  • 只要您执行以下操作,就可以不使用日期字符串:

    begindate = #1/1/2005#
    enddate = #1/1/2012#
    
    以下是我认为您的语法应该是什么样子的(我测试过了,它可以正常工作):


    您确定上面发布的语法是准确的,因为它不正确

  • 我假设“temp”是数字,否则需要用单引号括起来
  • t续行缺少前导字符,后跟空格
  • 缺少引号、和之间的空格
  • 只要您执行以下操作,就可以不使用日期字符串:

    begindate = #1/1/2005#
    enddate = #1/1/2012#
    
    以下是我认为您的语法应该是什么样子的(我测试过了,它可以正常工作):