![]() |
Модераторы: Akina |
![]() ![]() ![]() |
|
habanasailor |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 22.9.2011 Репутация: нет Всего: нет |
Надо слить много файлов ( около 1000), находящихся в одной директории, в одну таблицу Access. Файлы имеют примерно одну структуру: 8 колонок, но количество строк в файлах меняется. Хотелось бы слить только информационную часть, без импорта пустых строк. Можно ли это сделать простым скриптом, т.к. я сам очень начинающий. Заранее благодарю.
|
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 1 Всего: 130 |
Да можно, конечно, я даже программку такую писал на Дельфях, именно для сливания несколько .XLS из одной директории. Только она всё сливает, а не именно непустые строки.
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
udly |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 25.3.2006 Репутация: нет Всего: 0 |
Можно, но боюсь для начинающего это будет непростой скрипт. Я бы делал так:
1. В Access создать процедуру в которой в цикле перебираем все *.xls файлы. 2. Открываем xls файл и проходим по всем строкам. 3. Добавляем каждую строку из xls в таблицу access. |
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 1 Всего: 130 |
И по всем столбцам ещё. Поэтому работы программы быстрой не будет. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
habanasailor |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 22.9.2011 Репутация: нет Всего: нет |
Спасибо.
Я пользуюсь в настоящее время процедурой, в которой перед импортом в Access помечаю блок данных в файлах Excel, и импортирую данные из этих блоков. Однако, при 1000 файлах это становится совсем не легкой работой часов на 6-8. Вот если бы просто, не помечая, импортировать все листы пусть для начала хотя бы и с пустыми строками... Это сообщение отредактировал(а) habanasailor - 22.9.2011, 16:02 |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Господи, что там сложного? Заранее создать таблицу для загрузки данных. Перебор файлов - функция Dir() Импорт данных из очередного файла - TransferDatabase Очистка от пустых строк после импорта - DoCMS.RunSQL. Весь скрипт - вместе с организацией цикла - уляжется в 6 строк. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 1 Всего: 130 |
Да если бы уже 100 файлов было - я бы уже не стал делать ничего подобного вручную. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
habanasailor |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 22.9.2011 Репутация: нет Всего: нет |
Спасибо, Akina, по-моему это ценный совет,
попробуем. Всем ответившим также спасибо. |
|||
|
||||
habanasailor |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 22.9.2011 Репутация: нет Всего: нет |
Однако, что-то не получилось, может и я косорукий.
Дает ощибку скрипта, пишет мне, что команды TransferDatabase нет. Может ее и нет в Access 2010? Или еще чего. |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 1 Всего: 130 |
"DoCmd.TransferDatabase ...... " уже в Access-2000 было. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
freehoster |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 26.10.2011 Где: Москва Репутация: нет Всего: нет |
попробуйте разобраться с другими возможностями импорта, а именно Преобразовать ЭлектроннуюТаблицу (Transfer Spreadsheet). |
|||
|
||||
![]() ![]() ![]() |
Правила форума "MS Access" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MS Access | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |