将sql查询结果存储到变量access vba中
我有一个sql查询,它根据三个条件返回一些字段中的某些字段将sql查询结果存储到变量access vba中,vba,ms-access,Vba,Ms Access,我有一个sql查询,它根据三个条件返回一些字段中的某些字段 LOC字段有一个字符串“Alipore” 日期大于或等于从窗体上的文本框获取值的变量sdate Date小于或等于变量edate,该变量从表单上的文本框中获取值 但我得到一个错误“两个少数参数2”错误 天啊,我找到了,太简单了。在access中运行它之前需要一个空间,但当我将它复制到VBA中并重新构造sql语句时 应该是 &“其中(((Salesdata.Loc)=‘Alipore’)”_ 而不是 &“WHERE(((Salesdata
天啊,我找到了,太简单了。在access中运行它之前需要一个空间,但当我将它复制到VBA中并重新构造sql语句时 应该是 &“其中(((Salesdata.Loc)=‘Alipore’)”_ 而不是
&“WHERE(((Salesdata.Loc)=‘Alipore’)”错误发生在哪一行?您是否打算将
startD
作为变体
?还有一些SQL变体,日期需要在日期周围有#
。例如2017年1月1日可能是这样,谢谢你的回复。现在我从vba err 3141运行时出现了一个错误,但作为查询运行良好。
Sub Test()
Dim rs As DAO.Recordset
Dim sqlMax As String
Dim result As Integer
Dim startd, endd As String
startd = Me.txtsdate.Value
endd = Me.txtedate.Value
sqlMax = "SELECT Sum(Salesdata.FOOD) AS SumOfFOOD, Sum(Salesdata.LIQUORS) AS SumOfLIQUORS, Sum(Salesdata.SMARTPORTION) AS SumOfSMARTPORTION, Sum(Salesdata.[SP TAKEAWAY]) AS [SumOfSP TAKEAWAY]," _
& "Sum(Salesdata.TAKEAWAY) AS SumOfTAKEAWAY, Sum(Salesdata.TAX_KKCESS02) AS SumOfTAX_KKCESS02, Sum(Salesdata.TAX_SBC020) AS SumOfTAX_SBC020, Sum(Salesdata.TAX_SERVICECHARGE) AS SumOfTAX_SERVICECHARGE," _
& "Sum(Salesdata.TAX_VAT145) AS SumOfTAX_VAT145, Sum(Salesdata.AMEX) AS SumOfAMEX, Sum(Salesdata.CASH) AS SumOfCASH, Sum(Salesdata.MASTERCARD) AS SumOfMASTERCARD, Sum(Salesdata.VISA) AS SumOfVISA, Sum(Salesdata.OTHERS) AS SumOfOTHERS," _
& "Sum(Salesdata.Vcloud) AS SumOfVcloud, Sum(Salesdata.MANAGERAC) AS SumOfMANAGERAC FROM Salesdata" _
& "WHERE (((Salesdata.Loc) = 'Alipore'))" _
& "HAVING (((Salesdata.DATE)>=" & startd & " And (Salesdata.DATE)<=" & endd & "));"
Set rs = CurrentDb.OpenRecordset(sqlMax)
result = rs.Fields(0)
MsgBox result
Set rs = Nothing
rs.Close
End Sub