下面的函数工作正常并输出正确的结果,除了它输出日期为字符串而不是日期。我怎样才能让它输出日期呢?
Function GetExpiries_YieldX(TradeDate As Date, Code As String) As Variant
'Create and open the connection
Dim oConnection As Connection
Set oConnection = New Connection
oConnection.ConnectionString = strConnectionStringYieldX
oConnection.Open
'Create the command object
Dim oCommand As Command
Set oCommand = New Command
oCommand.CommandType = adCmdText
Dim SQLString As String
SQLString = "SELECT DISTINCT Expiry" _
& " FROM MTM" _
& " WHERE TradeDate = ?" _
& " and Code = ?"
oCommand.CommandText = SQLString
oCommand.ActiveConnection = oConnection
oCommand.Parameters.Append oCommand.CreateParameter("Date", adDBTimeStamp, adParamInput)
oCommand.Parameters.Append oCommand.CreateParameter("Code", adVarChar, adParamInput, 50)
oCommand.Parameters.Item("Date").Value = TradeDate
oCommand.Parameters.Item("Code").Value = Code
Dim result As New ADODB.Recordset
Set result = oCommand.Execute
Dim resultA As Variant
'GetExpiries_YieldX = WorksheetFunction.Transpose(result.GetRows)
GetExpiries_YieldX = result.GetRows
oConnection.Close
End Function
答案 0 :(得分:3)
2.8之前的ADODB版本已经认识到SQL Server 2008中引入了新的 Date 数据类型。
因此,请检查以下内容:
我希望这可以帮助您从数组中的Date列中获取数组中的Date列。