Excel [Expression.Error]我们不能应用运算符<输入文字和日期

时间:2018-02-07 11:51:07

标签: excel vba excel-vba

我一直在寻找好几天(作为一个总菜鸟)。

Private Sub CommandButton1_Click()
Dim SellStartDate As Date 'Declare the SellStartDate as Date
Dim SellEndDate As Date 'Declare the SellEndDate as Date
SellStartDate = Sheets("Summary").Range("C3").Value   'Pass value from 
cell B3 to SellStartDate variable
SellEndDate = Sheets("Summary").Range("C4").Value    'Pass value from 
cell B4 to SellEndDate variable
'Pass the Parameters values to the Stored Procedure used in the Data 
Connection
With ActiveWorkbook.Connections("Query - storm sales 
(2)").OLEDBConnection
.CommandText = "SELECT * FROM [storm sales (2)] WHERE ADVICEDATE >= 
'&SellStartDate&' AND ADVICEDATE <= '&SellEndDate&'"
ActiveWorkbook.Connections("Query - storm sales (2)").Refresh
End With
End Sub

上述代码基于互联网上其他地方找到的项目。

如果您使用=!=,则会将值传递给CommandText,但如果您使用包含<>

的任何内容,则不会将值传递给CommandText

我得到的错误是

  

[Expression.Error]我们无法应用运算符&lt;输入文字和日期

我要问的是,如果没有错误,>=<=会得到与我相同的结果。

提前致谢,

尼尔。

1 个答案:

答案 0 :(得分:-1)

您是否在查询中尝试使用撇号进行转换?

Convert(datetime , &SellStartDate&)

Convert(datetime ,' &SellStartDate& ')

这是SQL使用和不使用撇号进行转换的方式。

Convert(datetime, '2010-04-01' ) -> 2010-04-01 00:00:00.000

Convert(datetime, 2010-04-01 ) -> 1905-06-29 00:00:00.000