sql - 在运行 SQL 存储过程时将 varchar 转换为 VBA 中的日期
问题描述
我有如下的 VBA 脚本来提取 SQL(存储过程)并提取到 Excel。我允许 Excel 单元格“B1”输入日期,但我面临错误消息
将 varchar 转换为日期时间时出错
我试图将 Excel 列“B1”更改为日期格式,但错误仍然存在。请帮忙。谢谢
Sub puldata()
Dim oConn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim fld As ADODB.Field
Dim mssql As String
Dim row As Integer
Dim col As Integer
Dim DateTo As Date
Dim ws As ThisWorkbook
Set ws = ThisWorkbook
Application.ScreenUpdating = False
Set oConn = New ADODB.Connection
Set rs = New ADODB.Recordset
'oConn.Parameters.Append oConn.CreateParameter("DateTo", adDate, adParamInput, 10, Range("D1").Text)
mssql = "exec dbo.HP_Receivable @DateTo = '" & Cells(1, 2) & "';"
oConn.ConnectionString = "Driver={SQL Server Native Client 11.0}; Server=10.88.71.32; Database=HCMY; UID=sa; PWD=Hcmy@sap"
'oConn.ConnectionTimeout = 30
oConn.Open
rs.Open mssql, oConn
If rs.EOF Then
MsgBox "No Matching recrods found"
rs.Close
oConn.Close
Exit Sub
End If
row = 3
col = 1
For Each fld In rs.Fields
Sheet1.Cells(row, col).Value = fld.Name
col = col + 1
Next
rs.MoveFirst
row = row + 1
Do While Not rs.EOF
col = 1
For Each fld In rs.Fields
Sheet1.Cells(row, col).Value = fld
col = col + 1
Next
row = row + 1
rs.MoveNext
Loop
rs.Close
oConn.Close
End Sub
解决方案
推荐阅读
- javascript - 数组不为空但长度为 0 并且 JSON.stringify 返回一个空列表
- arrays - 将 API 响应映射到 JSX
- bash - 如何通过 bash 以显示大小的 x% 打开 Firefox 和其他 Firefox 选项卡?
- java - 在 docker 容器上运行数据库时,Flyway 找不到迁移
- .net - rzc discover 退出,代码为 -2147450730
- conda - MLFlow 正确安装在 conda env 中但无法使用
- python - Python Selenium 以 csv 格式导出数据
- android - 即使设置为空,片段绑定也会泄漏
- python - 如何测试事件触发云功能?
- sql - 将 XML 数据导入 SQL 2019 仅返回 NULL 或空值