SQL Query with Excel VBA



我试图用Excel VBA运行SQL查询。我是从别人那里得到这个问题的。

vsql = "SELECT [MyTable].Cust_Name, Sum([MyTable].Amt_Paid) AS SumOfAmt_Paid, " & _
" Count([MyTable].Unit_Num) AS CountOfUnit_Num  " & _
"WHERE ((([MyTable].Grp) = ""ABC1"") And " & _
"(([MyTable].Upload_Date) = [Enter Date:]) And " & _ 
"(([MyTable].Sub_eEmpl) = [Enter Processor's ID:]))" & _ 
"GROUP BY [MyTable].Cust_Name " & _
"HAVING ((([MyTable].Cust_Name) Not Like ""Deposit Total*""))"

当我运行这个查询时,我得到以下错误消息:" SELECT语句包含一个保留词或参数名称,拼写错误或缺失,或标点符号不正确。">

我无法找出什么是错的(加上我从来没有试图在VBA中创建一个SQL查询,要求用户输入2个值(日期/ID)

如果能帮助解决这个问题,我将不胜感激。提前感谢任何帮助或建议.......

您应该最终看起来像这样:

  • alias your table
  • 删除不需要的括号
  • 将HAVING移动到常规WHERE子句
  • 把FROM放到正确的位置
SELECT 
a.Cust_Name, Sum(a.Amt_Paid) AS SumOfAmt_Paid, Count(a.Unit_Num) AS CountOfUnit_Num 
FROM 
[MyTable] a
WHERE 
a.Grp = 'V1' and
a.Upload_Date = #[somedate]# and
a.Sub_eEmpl = 'someuser' and 
a.Cust_Name not like 'Deposit Total*'
GROUP BY a.Cust_Name

最新更新