我正在创建一个ACCESS应用程序,其中一个步骤是将数据从Excel电子表格导入到数据库中。一切都很好,但是,如果有不同类型的值(即字符串,数字),ACCESS只导入一种类型。
:
当我使用以下ACCESS代码时,只会从工作表中提取这种情况下的数字。像CCH这样的其他人没有被提取出来。如果让我们说第一个单元格有CCH作为其值,只有这些将被提取,数字不会:
Dim ConnectString As String
ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & FilePath & ";" & "Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";"
objConnection.Open ConnectString
objRecordset.Open "Select * FROM [Sheet1$]", objConnection, adOpenStatic, adLockOptimistic
Do Until objRecordset.EOF
Code = objRecordset.Fields.ITEM(0)
' ===== More code Here ==== '
Loop
如何解决此问题?
感谢您的帮助
答案 0 :(得分:2)
为什么不使用TransferSpreadsheet?
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, _
"SheetX", "C:\docs\XL.xlsx", True, "Sheet3$"
否则,您可能需要篡改注册表。