为什么 vba ado 记录集没有从 Excel table 中获取值?
Why vba ado recordset does not get values from Excel table?
美好的一天。
我在将 excel 电子表格中的值写入 ado 记录集时遇到问题。
电子表格 "prox" 包含值列,例如:
- 958371030M
- 1200118
- 982140615D
- 1502680
- KB7W-62864
此列为文本类型。
我使用以下代码:
objConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & wd & "\" & ThisWorkbook.Name & ";" & _
"Extended Properties=""Excel 8.0;HDR=No;"";"
objRecordset.Open "Select * FROM [prox$]", _
objConnection, adOpenStatic, adLockOptimistic, adCmdText
然后记录集包含
- 958371030M
- 982140615D
- KB7W-62864
但缺少文本格式的数字。在他们的地方是空白和
Debug.Print IsEmpty(objRecordset.Fields.Item(3).Value)
returns 'True' 为他们
您可能需要添加 IMEX 选项
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & wd & "\" & ThisWorkbook.Name & ";" & _
"Extended Properties=""Excel 8.0;HDR=No;IMEX=1;"";"
有关详细信息,请参阅 this SO's post
美好的一天。
我在将 excel 电子表格中的值写入 ado 记录集时遇到问题。
电子表格 "prox" 包含值列,例如:
- 958371030M
- 1200118
- 982140615D
- 1502680
- KB7W-62864
此列为文本类型。
我使用以下代码:
objConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & wd & "\" & ThisWorkbook.Name & ";" & _
"Extended Properties=""Excel 8.0;HDR=No;"";"
objRecordset.Open "Select * FROM [prox$]", _
objConnection, adOpenStatic, adLockOptimistic, adCmdText
然后记录集包含
- 958371030M
- 982140615D
- KB7W-62864
但缺少文本格式的数字。在他们的地方是空白和
Debug.Print IsEmpty(objRecordset.Fields.Item(3).Value)
returns 'True' 为他们
您可能需要添加 IMEX 选项
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & wd & "\" & ThisWorkbook.Name & ";" & _
"Extended Properties=""Excel 8.0;HDR=No;IMEX=1;"";"
有关详细信息,请参阅 this SO's post