Access Database - Импорт данных из листа Excel работает неправильно даже при IMEX = 1 - PullRequest
1 голос
/ 11 января 2012

Я создаю приложение ACCESS, в котором одним из шагов является импорт данных из электронной таблицы Excel в БД.Все отлично работает, однако, если есть разные типы значений (например, строка, числа), ACCESS импортирует только один тип.

  1. В таблице Excel есть столбец со следующими данными

enter image description here:

Когда я использую следующий код доступа, только цифры в этом случае извлекаются из листа.Другие, такие как 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

Как мне решить эту проблему?

Спасибо за помощь

1 Ответ

2 голосов
/ 11 января 2012

Почему бы не TransferSpreadsheet?

 DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, _
      "SheetX", "C:\docs\XL.xlsx", True, "Sheet3$"

В противном случае вам может понадобиться вмешаться в реестр.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...