将数据过滤到比今天更早的日期的方法是什么?
我正在尝试使用以下代码,但收到错误
表达中未定义的功能
我也尝试使用CURDATE(),但这也不起作用。
Sub CreateQueryTableWithParameters()
Dim qryTable As QueryTable
Dim rngDestination As Range
Dim strConnection As String
Dim strSQL As String
With Sheets("Sheet1")
.Range("A:Z").Clear
.Activate
End With
' Define the connection string and destination range.
strConnection = "ODBC;DSN=RDBWC;UID=;PWD=;DBALIAS=RDBWC;"
Set rngDestination = Sheet1.Range("A1")
' Create a parameter query.
strSQL = "SELECT *"
strSQL = strSQL & " FROM PDB2I.DI_NOS_OST_MVT_01 "
strSQL = strSQL & " WHERE VAL_DT < GETDATE() "
' Create the QueryTable.
Set qryTable = Sheet1.QueryTables.Add(strConnection, rngDestination)
' Populate the QueryTable.
qryTable.CommandText = strSQL
qryTable.CommandType = xlCmdSql
qryTable.Refresh False
With Columns("D:D")
.NumberFormat = "_(* #,##0.00_);_(* (#,##0.00);_(* ""-""??_);_(@_)"
.AutoFit
End With
Selection.AutoFilter
End Sub
答案 0 :(得分:2)
如果您正在使用MS Access(似乎可能使用VBA),则getdate()
被称为now()
。所以试试这个:
SELECT *
FROM PDB2I.DI_NOS_OST_MVT_01 "
WHERE VAL_DT < NOW();
答案 1 :(得分:0)
感谢您的努力。我发现当前日期函数只是CURRENT DATE。工作正常