|
|
|
ADO и Excell
|
|||
|---|---|---|---|
|
#18+
Народ, подскажите, как через провайдера ADO обратиться к таблице Еxcell. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 13:33 |
|
||
|
ADO и Excell
|
|||
|---|---|---|---|
|
#18+
Das ist Krutable! ;) А возможно ли вообще такое? Может, просто сохранить Эксельку в csv и импортнуть в базу? Или подключить таблу ХЛ (таблицы - связь с таблицами - хл - лист ...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 13:42 |
|
||
|
ADO и Excell
|
|||
|---|---|---|---|
|
#18+
Насколько я знаю, такое возможно... Подключить ексель к базе аксеса - тоже возможно, но для этого надо долго копаться в екселевской таблице, приводя ее в нужный вид на импорт - он ругается, не дает определить тип полей и т.д, а для конвертации в текст - это придется делать еженедельно, ковыряя таблицу екселя... :-( А это лениво!!! Обращаться к таблице Екселя через объектную переменную - долго... Хочется чего-то быстрого... Пока оно у меня работает 11 минут на примерно 20000-25000 строк в екселе.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 13:47 |
|
||
|
ADO и Excell
|
|||
|---|---|---|---|
|
#18+
напиши внешнюю прогу на С, Delphi, etc. которая будет выгрызать данные из Excel (через BDE) и запихивать в Ас (через АДО). будет летать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 13:52 |
|
||
|
ADO и Excell
|
|||
|---|---|---|---|
|
#18+
Как запихивать в Ас через ADO я разобрался... Теперь бы процесс чтения ускорить, не прибегая к внешним программам.... ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 13:54 |
|
||
|
ADO и Excell
|
|||
|---|---|---|---|
|
#18+
Очень интересно... а процессор какой? Дело в том, что, ИМХО, АДО нужна такая же стркутура, какую требует Акцесс при связывании таблички ХЛ с базой. В АДО выполняются те же самые запросы, правда? А как СЕЛЕКТУ указать, что нужна ячейка с координатами (х,у)? ;) Варианты: или привести таблу в ХЛ к виду, удобочитаемому базой, или продолжать мучиться с объектной моделью. 8*60 / 11 = 43 раза в день отработать успеет! ;))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 13:57 |
|
||
|
ADO и Excell
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. через ОДБЦ Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. через DSN Код: plaintext 1. 2. 3. 4. 5. 6. 7. Подробности в MSDN (HOWTO: Use ADO with Excel Data from Visual Basic or VBA) ms-help://MS.MSDNQTR.2003APR.1033/enu_kbvbwin/vbwin/257819.htm#Connect ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 13:57 |
|
||
|
ADO и Excell
|
|||
|---|---|---|---|
|
#18+
Если есть наработки как ковырять извне Акцесс через АДО, так в чем проблема в прямо ХЛе накатать макрос закачки данных в базу? Зачем С или Дельфи? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 14:04 |
|
||
|
ADO и Excell
|
|||
|---|---|---|---|
|
#18+
А как дальше обращаться к этой таблице, к конкретным ячейкам? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 14:05 |
|
||
|
ADO и Excell
|
|||
|---|---|---|---|
|
#18+
2Ramca тебе что нужно от екцеля? Что с данными будешь делать? Зачем именно ADO? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 14:09 |
|
||
|
ADO и Excell
|
|||
|---|---|---|---|
|
#18+
Вот-вот, и я о том же ;) Выгрузить в А. через АДО - и что?.. Обращаться к *ячейкам таблицы Акцесса?..* Он не для этого, собсно... Это в Экселе.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 14:17 |
|
||
|
ADO и Excell
|
|||
|---|---|---|---|
|
#18+
По-моему, мы немного о разном... :-( Поясняю суть: Есть ряд екселевских таблиц с которыми работает народ... Работает периодически криво... :-( - поэтому прямой импорт или связывание с аксесом отменяется... ;-( плюс присутствуют объединенные ячейки, что тоже не способствует прямому импорту в аксес без предварительного их разделения (что приходится делать макросом екселя). А задача стоит примерно так: 1-ая задача. Взять три таблицы екселя две объединить и связать ее по двум полям с третьей, причем по одному из них только по части. Если делать это макросом екселя проходясь по одной таблице и искать соответствия в другой типа selection.find... работает полтора часа на 4-х Xeon'ах, хотя и не дает полной загрузки проца (только на 70 %). Предварительная обработка этих таблиц макросом екселя (разъединение ячеек и прочее) + импорт в аксес занимают около 20-25 минут (что гораздо интересней 1,5 часов). Причем часть операций, к сожалению, приходится делать вручную (Типа открытия файлов, запуска макросов, запуска аксеса, запуска макроса в аксесе, выполнение запроса.......). Непосредственное перетаскивание из екселя в аксес занимает 11 минут ровно... Вот хотелось бы побыстрее... ;-) Может быть кто-нибудь предложит что-нибудь интересное.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 14:31 |
|
||
|
ADO и Excell
|
|||
|---|---|---|---|
|
#18+
по-моему, если подготовка в Ех занимает 25 минут, а перенос в Ас - 11, то это и так быстро, имхо. Видимо объем-то не хилый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 14:34 |
|
||
|
ADO и Excell
|
|||
|---|---|---|---|
|
#18+
Хрень какая-то Запусти один макрос в экселе, который тебе данные к минимально съедобному виду приведет Проимпортируй в аксес (способов - вагон и маленькая тележка) И делай с ними что хочешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 14:36 |
|
||
|
ADO и Excell
|
|||
|---|---|---|---|
|
#18+
Не знаю что у вас за екцел - у меня не более 65535 строк на одном листе. А перелить в акес 65 тыс. строк - дело пары минут. Тогда куда еще 8 мин. делись? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 14:39 |
|
||
|
ADO и Excell
|
|||
|---|---|---|---|
|
#18+
Кстати не понял в чем отличия "Предварительная обработка этих таблиц макросом екселя (разъединение ячеек и прочее) + импорт в аксес " и "Непосредственное перетаскивание из екселя в аксес " при условии, что "присутствуют объединенные ячейки, что тоже не способствует прямому импорту в аксес без предварительного их разделения" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 14:41 |
|
||
|
ADO и Excell
|
|||
|---|---|---|---|
|
#18+
Разницы никакой... Просто перенос в аксес - один из этапов.... а 25 минут - это всего... ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 15:08 |
|
||
|
ADO и Excell
|
|||
|---|---|---|---|
|
#18+
Ну тогда тебе надо а) Оптимизировать предварительную обработку данных в экселе. Насколько я понял, она 9-14 минут идет, что слишком дофига для 20000 записей. Или выкинуть 486-й компутер б) Оптимизировать импорт в эксель. 11 минут - это тоже дофига. По первому - вслепую никто тебе не поможет (лето... телепаты в отпуске...) Второй пункт кучу раз обсуждался. Запусти поиск по форуму по словам "импорт из экселя" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 15:15 |
|
||
|
ADO и Excell
|
|||
|---|---|---|---|
|
#18+
Допустим, обработку данных в экселе я оптимизировал... А вот можно ли экселевский макрос выполнять из процедуры аксеса. То есть задача открыть екселевскую таблицу в аксесе, запустить для нее макрос, затем "сохранить как" желательно, чтобы он не спрашивал "Заменить имеющийся файл?", а по умолчанию, чтобы заменил, а затем связать с аксесом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 16:09 |
|
||
|
ADO и Excell
|
|||
|---|---|---|---|
|
#18+
Просто создай запрос к "с оптимизированному" листу и далее делай с результатом чего хочешь. См. Select * From IN (...) сам не пользовался, а в справке уже лень искать - тяпница как никак :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 16:32 |
|
||
|
ADO и Excell
|
|||
|---|---|---|---|
|
#18+
Или присоедини таблицу из аксеса к этому же эксельному листу. И работай с ним как с таблицей Надо или фак делать ("Методы импорта из экселя"), или ссылку какую-нибудь найти и в избранное занести ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 16:35 |
|
||
|
ADO и Excell
|
|||
|---|---|---|---|
|
#18+
Странно все это... Если народ работает в ХЛ с таким охмуренным размером и кло-вом записей, это не есть хорошо... Не легче ли перетащить все 3 листа-таблицы ХЛ в Ацесс и, разработав 3 (видимо, 2, если 2 листа похожи) формочки, радоваться жизни? Зачем в ХЛ мучить и себя и людей?.. и быстрее работать будет (между делом ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 17:38 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32225100&tid=1680158]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
82ms |
get tp. blocked users: |
2ms |
| others: | 230ms |
| total: | 414ms |

| 0 / 0 |
