Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: Анатолий (Киев)


прежде чем загрузить инфу в файле нужно подправить (несоответствие форматов)

ado\dao пока не приведешь к формату (нормальному) вываливается ошибка

Какое, собственно, несовпадение форматов и какая ошибка?
JET определяет тип поля по значениям в первых 8 ячейках колонки. Если у вас в каждой колонке, в этих 8 ячейках встречается текстовое значение, то подправлять ничего не надо. Надо выполнить запрос на добавление с листа в таблицу акса, а в строке подключения указать параметр IMEX=1. В этом случае тип поля будет текстовым.

Теперь по вашему коду...
1. Зачем вы переприсваимаете ячейкам их же значения, если затем берете эти значения из ячеек и вставляете в Recordset? Ведь драйвер здесь не участвует. Это, между прочим 1500 х 6 х 2 = 18000 обращений к OLE-серверу. Причем перерасчет листа после каждого изменения вы не отключили.
2. Вместо цикла по ячейкам при записи в Recordset правильнее - прочитать Value всего диапазона в переменную типа Variant (получите двухмерный массив Строки-Столбцы) и далее цикл уже по массиву.


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.