Excel VBA在哪里使用

我如何在where子句中使用两个date。 编译器不断给我错误的语法。 我需要改变这个语法来使用我的where子句

Sub Get_Data() Dim cn As Object Dim rs As Object Dim strFile As String Dim strCon As String Dim strSQL, strInput As String strFile = "A:\Test\de.accdb" strCon = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & strFile Set cn = CreateObject("ADODB.Connection") cn.Open strCon d1 = InputBox("Input Start Date") d2 = InputBox("Input End Date") strSQL = "SELECT NAME, Location From db 1WHERE orderdate between ""'d1'"" AND ""'d2'"" Order By Location ASC;" cn.Execute strSQL cn.Close Set cn = Nothing End Sub 

 strSQL = "SELECT NAME, Location From db WHERE orderdate between '" & d1 & "' AND '" & d2 & "' Order By Location ASC;" 

它看起来好像忘记了查询中的FROM函数,并且需要将d1和d2与ambersands分开,请尝试以下操作:

 strSQL = "SELECT NAME, Location FROM [name of table] WHERE orderdate between '" & d1 & "' AND '" & d2 & "'"