Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Правильный импорт данных из файла *.xls
 
 автор: novex   (06.10.2009 в 21:54)   личное сообщение
 
 

При импорте данны из файлов MS Excel (*.xls) использую следующий код:


Dim xlApp
Set xlApp = CreateObject("excel.application")
xlApp.Workbooks.Open sFileName

...

Do While I <= cnMS_Excel_MaxRowCount
sStr = xlApp.Workbooks(1).Sheets(1).Cells(I, 1).value
If ((sStr = "") Or IsEmpty(sStr)) Then Exit Do
Execute_SQL("Insert Into tXLS_Date (nCount) Values (" & sStr & ")")
I = I + 1
Loop

...

xlApp.Workbooks(1).Close SaveChanges:=False
xlApp.Quit
Set xlApp = Nothing


но после его работы в процессах остается висеть MS Excel и если в последствии открыть какой либо файл *.xls, то кроме открываемого файла вспловет еще и импортируемый.

Как по правильному все сделать?

Еще парит писать разный код для разных типов файлов, ну т.е. в одном 5 столбцов импортируются в таблицу А, в другом 10 в таблицу Б, соответственно структура таблиц разная.
Может есть какой либо способ все упростить?

  Ответить  
 
 автор: snipe   (07.10.2009 в 00:07)   личное сообщение
 
 

Есть команда такая
DoCmd.TransferSpreadsheet acImport
Очень прекрасно импортирует данные из MS Excel

что бы не искать чего ей (команде) надо и какой правильный синтаксис
создайте макрос выберите команду ПреобразоватьЭлектроннуюТаблицу
заполните все поля
сохраните макрос
теперь преобразуйте его (через Сервис - Макрос - Преобразовать Макросы)
запустите редактор VBA и посмотрите что получилось
ну а дальше по ситуации

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList