运行时错误3075

时间:2015-02-10 03:07:59

标签: access-vba

我收到此错误消息“查询表达式中的语法错误”选择sum([BatteryDataTable] .NumberOfBatter as)'“

下面的原始sql语句:

sqlDateRangeSearch = "Select *, **Select sum([BatteryDataTable].NumberOfBattery as " & Me.SumOfBattery & ")** from BattryDataTable" & _
" where BatteryDateChanged BETWEEN " & _
Format(Me.FromDTPicker.Value, "\#yyyy-m-d\#") & " and " & _
Format(Me.ToDTPicker.Value, "\#yyyy-m-d\#") & ";"
Me.RecordSource = sqlDateRangeSearch

我要做的是在所选日期之间显示所有选定记录,所有选定记录的值之和。选定的记录将以表格形式显示,所有选定记录的值总和将以相同的形式显示在文本框中。顺便说一句,有人在这里帮助我使用这段代码。我深表感谢。粗体语法部分导致错误。非常感谢你提前。

2 个答案:

答案 0 :(得分:0)

当您创建一个SQL时,您不需要重复SELECTWHERE等语句。您只需将所选的标记与comma分开即可。已经。删除您提到的第二个实例SELECT将有希望为您删除错误。

答案 1 :(得分:0)

您的SQL存在许多问题。

  • 正如Dane所写,你不需要在这个SQL中重复SELECT 声明
  • 您为sum列提供的别名必须包含在中 你的SQL(在双引号内)&应该在SUM
  • 的结束括号之外
  • 之前使用的**&在SUM无关紧要之后。

所以这是你修改过的SQL语句。

sqlDateRangeSearch = "Select *, sum(NumberOfBattery) as SumOfBattery from BattryDataTable" & _
" WHERE BatteryDateChanged BETWEEN " & _
Format(Me.FromDTPicker.Value, "\#yyyy-m-d\#") & " AND " & _
Format(Me.ToDTPicker.Value, "\#yyyy-m-d\#") & ";"
Me.RecordSource = sqlDateRangeSearch

希望您觉得这很有帮助。