VBA过程中Microsoft Access SQL Select查询中的语法错误

VBA过程中Microsoft Access SQL Select查询中的语法错误,sql,ms-access,vba,subquery,select-query,Sql,Ms Access,Vba,Subquery,Select Query,下面的VBA代码出现语法错误。有人能帮我找出错误的原因吗? 专用子命令11_单击 Dim EndingDate作为日期 '从名为endDate的标签获取结束日期 EndingDate=endDate StartingDateTxt=DateSerialYearEndingDate,MonthEndingDate-15,DayEndingDate 将customerRecords设置为新ADODB.Recordset customerRecords.从SELECT DISTINCT E.Date

下面的VBA代码出现语法错误。有人能帮我找出错误的原因吗?

专用子命令11_单击 Dim EndingDate作为日期 '从名为endDate的标签获取结束日期 EndingDate=endDate StartingDateTxt=DateSerialYearEndingDate,MonthEndingDate-15,DayEndingDate 将customerRecords设置为新ADODB.Recordset customerRecords.从SELECT DISTINCT E.Date打开SELECT COUNT*AS N&_ E.[Inv Num],E.CusName,E.[Name Street1],E.[Name Street2]&_ E.[Name City],E.[Name State],E.[Name Zip],E.[Account],E.来自TempFromExcel的金额&_ 作为E内部连接TempFromExcel作为E.CusName=X.CusName上的X&_ 其中DateDiffd、X.Date、E.Date>=30和E.Date>='&StartingDateTxt&'&_
E.日期在Microsoft Access SQL查询中,您必须将日期值封装到,例如,2015年1月6日。与您的情况相关,它应该如下所示:

E.Date >= #" & StartingDateTxt & "# AND E.Date <=#" & endDate & "#"

希望这会有所帮助。

尝试更改以下行:

"WHERE (DateDiff('d', X.Date, E.Date) >= 30 AND E.Date >= #" & Format(StartingDateTxt, "yyyy\/mm\/dd") & "# and " & _
"E.Date <= #" & Format(endDate, "yyyy\/mm\/dd") & "#) AS T ;", _

那么,你能重写这个查询吗?这只是一个猜测,Select查询的其他部分写得对吗?我已经根据你的要求扩展了答案,解决了你原来的问题。如果您满意,请将其标记为已接受。如果您还有更多问题,请单独发布。谢谢大家,根据调试器customerRecords,现在错误在第一行。打开SELECT COUNT*AS N FROM SELECT DISTINCT E.Date,&(我已经告诉过你们),请单独发布第二个问题,突出显示一个有问题的SQL部分。在没有看到实际表结构和示例数据的情况下,远程调试代码是一项困难的任务。顺致敬意,