powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ADO и Excell
22 сообщений из 22, страница 1 из 1
ADO и Excell
    #32225003
Ramca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ, подскажите, как через провайдера ADO обратиться к таблице Еxcell.
...
Рейтинг: 0 / 0
ADO и Excell
    #32225029
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Das ist Krutable! ;)
А возможно ли вообще такое?
Может, просто сохранить Эксельку в csv и импортнуть в базу?
Или подключить таблу ХЛ (таблицы - связь с таблицами - хл - лист ...)
...
Рейтинг: 0 / 0
ADO и Excell
    #32225044
Ramca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насколько я знаю, такое возможно...
Подключить ексель к базе аксеса - тоже возможно, но для этого надо долго копаться в екселевской таблице, приводя ее в нужный вид на импорт - он ругается, не дает определить тип полей и т.д, а для конвертации в текст - это придется делать еженедельно, ковыряя таблицу екселя... :-( А это лениво!!!
Обращаться к таблице Екселя через объектную переменную - долго... Хочется чего-то быстрого... Пока оно у меня работает 11 минут на примерно 20000-25000 строк в екселе....
...
Рейтинг: 0 / 0
ADO и Excell
    #32225056
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
напиши внешнюю прогу на С, Delphi, etc.
которая будет выгрызать данные из Excel (через BDE) и запихивать
в Ас (через АДО).
будет летать.
...
Рейтинг: 0 / 0
ADO и Excell
    #32225060
Ramca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как запихивать в Ас через ADO я разобрался... Теперь бы процесс чтения ускорить, не прибегая к внешним программам.... ;-)
...
Рейтинг: 0 / 0
ADO и Excell
    #32225068
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень интересно... а процессор какой?

Дело в том, что, ИМХО, АДО нужна такая же стркутура, какую требует Акцесс
при связывании таблички ХЛ с базой.
В АДО выполняются те же самые запросы, правда?
А как СЕЛЕКТУ указать, что нужна ячейка с координатами (х,у)? ;)

Варианты: или привести таблу в ХЛ к виду, удобочитаемому базой,
или продолжать мучиться с объектной моделью.
8*60 / 11 = 43 раза в день отработать успеет!
;)))
...
Рейтинг: 0 / 0
ADO и Excell
    #32225069
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Dim cn as ADODB.Connection
Set cn = New ADODB.Connection
With cn
	.Provider =  "Microsoft.Jet.OLEDB.4 . 0 "
	.ConnectionString =  "Data Source=C:\MyFolder\MyWorkbook.xls;"  & _
 "Extended Properties=Excel 8 . 0 ;"
	.Open
End With



через ОДБЦ
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Dim cn as ADODB.Connection
Set cn = New ADODB.Connection
With cn
	.Provider =  "MSDASQL" 
	.ConnectionString =  "Driver={Microsoft Excel Driver (*.xls)};"  & _
 "DBQ=C:\MyFolder\MyWorkbook.xls; ReadOnly=False;" 
	.Open
End With


через DSN
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Dim cn as ADODB.Connection
Set cn = New ADODB.Connection
With cn
	.Provider =  "MSDASQL" 
	.ConnectionString =  "DSN=MyExcelDSN;" 
	.Open
End With


Подробности в MSDN (HOWTO: Use ADO with Excel Data from Visual Basic or VBA)
ms-help://MS.MSDNQTR.2003APR.1033/enu_kbvbwin/vbwin/257819.htm#Connect
...
Рейтинг: 0 / 0
ADO и Excell
    #32225080
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если есть наработки как ковырять извне Акцесс через АДО,
так в чем проблема в прямо ХЛе
накатать макрос закачки данных в базу? Зачем С или Дельфи? ;)
...
Рейтинг: 0 / 0
ADO и Excell
    #32225081
Ramca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как дальше обращаться к этой таблице, к конкретным ячейкам?
...
Рейтинг: 0 / 0
ADO и Excell
    #32225089
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Ramca


тебе что нужно от екцеля? Что с данными будешь делать? Зачем именно ADO?
...
Рейтинг: 0 / 0
ADO и Excell
    #32225100
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот-вот, и я о том же ;)
Выгрузить в А. через АДО - и что?..
Обращаться к *ячейкам таблицы Акцесса?..*
Он не для этого, собсно... Это в Экселе..
...
Рейтинг: 0 / 0
ADO и Excell
    #32225118
Ramca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По-моему, мы немного о разном... :-(
Поясняю суть:
Есть ряд екселевских таблиц с которыми работает народ...
Работает периодически криво... :-( - поэтому прямой импорт или связывание с аксесом отменяется... ;-( плюс присутствуют объединенные ячейки, что тоже не способствует прямому импорту в аксес без предварительного их разделения (что приходится делать макросом екселя).
А задача стоит примерно так:
1-ая задача. Взять три таблицы екселя две объединить и связать ее по двум полям с третьей, причем по одному из них только по части. Если делать это макросом екселя проходясь по одной таблице и искать соответствия в другой типа selection.find... работает полтора часа на 4-х Xeon'ах, хотя и не дает полной загрузки проца (только на 70 %).
Предварительная обработка этих таблиц макросом екселя (разъединение ячеек и прочее) + импорт в аксес занимают около 20-25 минут (что гораздо интересней 1,5 часов). Причем часть операций, к сожалению, приходится делать вручную (Типа открытия файлов, запуска макросов, запуска аксеса, запуска макроса в аксесе, выполнение запроса.......).
Непосредственное перетаскивание из екселя в аксес занимает 11 минут ровно...
Вот хотелось бы побыстрее... ;-)
Может быть кто-нибудь предложит что-нибудь интересное....
...
Рейтинг: 0 / 0
ADO и Excell
    #32225125
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по-моему, если подготовка в Ех занимает 25 минут, а перенос в Ас - 11,
то это и так быстро, имхо. Видимо объем-то не хилый.
...
Рейтинг: 0 / 0
ADO и Excell
    #32225130
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хрень какая-то
Запусти один макрос в экселе, который тебе данные к минимально съедобному виду приведет
Проимпортируй в аксес (способов - вагон и маленькая тележка)
И делай с ними что хочешь
...
Рейтинг: 0 / 0
ADO и Excell
    #32225134
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю что у вас за екцел - у меня не более 65535 строк на одном листе. А перелить в акес 65 тыс. строк - дело пары минут. Тогда куда еще 8 мин. делись?
...
Рейтинг: 0 / 0
ADO и Excell
    #32225135
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати не понял в чем отличия

"Предварительная обработка этих таблиц макросом екселя (разъединение ячеек и прочее) + импорт в аксес "

и

"Непосредственное перетаскивание из екселя в аксес "

при условии, что

"присутствуют объединенные ячейки, что тоже не способствует прямому импорту в аксес без предварительного их разделения"
...
Рейтинг: 0 / 0
ADO и Excell
    #32225177
Ramca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разницы никакой... Просто перенос в аксес - один из этапов.... а 25 минут - это всего... ;-)
...
Рейтинг: 0 / 0
ADO и Excell
    #32225193
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну тогда тебе надо
а) Оптимизировать предварительную обработку данных в экселе. Насколько я понял, она 9-14 минут идет, что слишком дофига для 20000 записей. Или выкинуть 486-й компутер
б) Оптимизировать импорт в эксель. 11 минут - это тоже дофига.

По первому - вслепую никто тебе не поможет (лето... телепаты в отпуске...)
Второй пункт кучу раз обсуждался. Запусти поиск по форуму по словам "импорт из экселя"
...
Рейтинг: 0 / 0
ADO и Excell
    #32225259
Ramca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Допустим, обработку данных в экселе я оптимизировал...
А вот можно ли экселевский макрос выполнять из процедуры аксеса.
То есть задача открыть екселевскую таблицу в аксесе, запустить для нее макрос, затем "сохранить как" желательно, чтобы он не спрашивал "Заменить имеющийся файл?", а по умолчанию, чтобы заменил, а затем связать с аксесом?
...
Рейтинг: 0 / 0
ADO и Excell
    #32225292
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто создай запрос к "с оптимизированному" листу и далее делай с результатом чего хочешь.
См. Select * From IN (...)
сам не пользовался, а в справке уже лень искать - тяпница как никак :)
...
Рейтинг: 0 / 0
ADO и Excell
    #32225301
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или присоедини таблицу из аксеса к этому же эксельному листу. И работай с ним как с таблицей
Надо или фак делать ("Методы импорта из экселя"), или ссылку какую-нибудь найти и в избранное занести
...
Рейтинг: 0 / 0
ADO и Excell
    #32225391
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно все это...
Если народ работает в ХЛ с таким охмуренным размером и кло-вом записей,
это не есть хорошо...
Не легче ли перетащить все 3 листа-таблицы ХЛ
в Ацесс и, разработав 3 (видимо, 2, если 2 листа похожи) формочки,
радоваться жизни?
Зачем в ХЛ мучить и себя и людей?..
и быстрее работать будет (между делом ;)
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ADO и Excell
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]