
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
18.04.2003, 19:29
|
|||
|---|---|---|---|
Импорт из Excel |
|||
|
#18+
Помогите, пожалуйста, проблемка возникла... Может кто-нибудь поделится кодом импорта из Excel в Access страниц с различной структурой таблиц. Импорт с первой страницы делается тривиально DoCmd.TransferSpreadsheet acImport, 8, "ExelTable", MyFile, True, "" , А каким образом сделать импорт со 2 или 3 страницы Excel ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.04.2003, 17:13
|
|||
|---|---|---|---|
|
|||
Импорт из Excel |
|||
|
#18+
Для импорта необходимо знать: 1 - полное имя XLS-файла и, желательно, версию EXCEL, в которой он был создан; 2 - имя импортируемого листа или диапазона (далее таблица). В общем виде команда импорта может быть записана так: DoCmd.RunSQL "SELECT * INTO <ИМЯ ТАБЛИЦЫ> FROM [EXCEL <НОМЕР ВЕРСИИ>;DATABASE=<ПОЛНОЕ ИМЯ XLS-ФАЙЛА>].[<ТАБЛИЦА>];" или так CurrentDB.Execute "SELECT * INTO <ИМЯ ТАБЛИЦЫ> FROM [EXCEL <НОМЕР ВЕРСИИ>;DATABASE=<ПОЛНОЕ ИМЯ XLS-ФАЙЛА>].[<ТАБЛИЦА>];" Например, для импорта листа "Лист 10" из книги Excel 8.0(97) C:\Моя книга.xls в таблицу Таблица_Лист_10 текущей базы данных достаточно следующей конструкции: CurrentDB.Execute "SELECT * INTO [Таблица_Лист_10] FROM [EXCEL 8.0;DATABASE=C:\Моя книга.xls].[Лист 10];" Если не знаешь номер версии Excel - бери по максимуму из доступных для твоей версии Access. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.06.2003, 11:54
|
|||
|---|---|---|---|
|
|||
Импорт из Excel |
|||
|
#18+
А как поступить, если имена листов в excel неизвестны заранее (знаю только, что листов больше одного)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.06.2003, 12:25
|
|||
|---|---|---|---|
|
|||
Импорт из Excel |
|||
|
#18+
все в справке написано Диапазон Диапазон импортируемых или связываемых ячеек. При импорте или связывании всей электронной таблицы следует оставить данный аргумент пустым. Допускается указание имени диапазона или адреса в формате A1:E25 (учтите, что формат A1..E25 не поддерживается в Microsoft Access 97 и более поздних версиях). Если необходимо, при импорте или связывании из рабочей книги Microsoft Excel версии 5.0 или более поздних версий перед именем диапазона задается имя листа и восклицательный знак; например Бюджет!A1:C7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.06.2003, 12:45
|
|||
|---|---|---|---|
|
|||
Импорт из Excel |
|||
|
#18+
В том-то и дело, что при пустом параметре импортируется только первый лист (а нужны все). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.06.2003, 13:04
|
|||
|---|---|---|---|
|
|||
Импорт из Excel |
|||
|
#18+
количество листов берешь отсюда Sheets.Count имя листа Sheets(i).Name а потом запускаешь цикл на DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "ИмпортИзExcel", txtfile, , "Лист1!A:C" DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "ИмпортИзExcel", txtfile, , "Лист2!A:C" это идея я не проверял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=45&mobile=1&tid=1681090]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
43ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
23ms |
get tp. blocked users: |
1ms |
| others: | 187ms |
| total: | 284ms |

| 0 / 0 |
