Как извлечь данные из листа Excel с помощью DAO

Переводы статьи Переводы статьи
Код статьи: 190195 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

Драйвер Excel ISAM динамически не преобразовывать типы данных.

Дополнительная информация

Если столбец в таблице Excel, содержащий оба текста и номера, ISAM не сможет правильно интерпретировать какой тип данных его должно быть. Убедитесь, что все ячейки столбца имеют формат для иметь тот же тип данных. Например может иметь следующие данные в четыре столбцы в таблице Excel:
   male   female children teens
   11     cc     78       ee
   22     xx     33       ff
   45     uu     56       oo
				

При попытке прочитать данные через драйвер ISAM для целого листа можно получить значения null для первой строки. Чтобы избежать этого, Создание именованных диапазонов: один содержит только сведения о заголовке и другое содержащий сведения о данных. Например:
   named range 'myRange1' :
   male     female    children     teens

   named range 'myRange2' :
   11   cc   78   ee
   22   xx   33   ff
   45   uu   56   oo
				

Теперь можно подключиться к Microsoft Excel и запроса информации только из конкретный именованный диапазон. Тем не менее в один диапазон может определенного столбца содержат только один тип данных.

Как создать диапазон

Чтобы создать диапазон, выполните следующие действия.
  1. Выделите данные.
  2. В строке меню пункты Вставка, а затем нажмите кнопку Имя.
  3. Нажмите кнопку Определение, а затем нажмите кнопку Имя диапазона.
Примечание: В Ссылается на поле ссылается на выделенный диапазон. Это должен расширяться и сжиматься, вставленных и удаленных данных.

Для извлечения данных, используйте имя диапазона, созданного для имени таблицы в инструкции select.

Действия Excel

  1. Создание файла Excel, тестирование.XLS, с помощью следующих данных в листе sheet1.
       excel File : test.xls with the following entries:
    
            male  female    children   teens
             11    cc       78           ee
             22    xx       33           ff
             45    uu       56           oo
    					
  2. Создайте именованный диапазон, myRange1 и myRange2, в лист, содержащий необходимые данные.
          named range : myRange1
    
          male female children teens
    
          named range  : myRange2
    
          11     cc   78   ee
          22     xx   33   ff
          45     uu   56   oo
    
    					

Действия Visual Basic

  1. Создайте новый проект EXE называется «DAO_EXCEL».
  2. Из Проект меню, нажмите кнопку Ссылки, а затем выберите Библиотека Microsoft DAO 3.5 флажок.
  3. Поместите в форму CommandButton.
  4. Вставьте следующий код в окно кода формы:
          private Sub Command_click1
    
          im dbtmp As DAO.Database
          im tblObj As DAO.TableDef
          im rs As DAO.Recordset
    
          et dbtmp = OpenDatabase_
               ("<complete path>\test.xls", False, True, "Excel 8.0;")
    
          DoEvents
    
          Set rs = dbtmp.OpenRecordset("select * from `myRange2`")
          While Not rs.EOF
              For x = 0 To rs.Fields.Count - 1
                  Debug.Print rs.Fields(x).Value
              Next
              rs.MoveNext
          Wend
          End Sub
    
          Note the reverse apostrophe "`" while specifying the range
          name(myrange2).
    
    					
Следующие результаты, как ожидается:
  11
  cc
  78
  ee
  22
  xx
  33
  ff
  45
  uu
  56
  oo
				

Ссылки

Обратитесь к документации по подключению к Excel посредством DAO. Другой хороший справочник будет предстоящих ADO-> ссылка Excel.

Свойства

Код статьи: 190195 - Последний отзыв: 4 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
Ключевые слова: 
kbdatabase kbhowto kbiisam kbmt KB190195 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:190195

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com