Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.09.2011, 14:50   #21
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Конечно медленнее чем у Николая
но не на много и если данных будет очень много то может и обогнать (наверное)
как всегда без словарей и массивов, только ADO
Вложения
Тип файла: zip ДжекиУбрать дубликаты.zip (156.8 Кб, 16 просмотров)
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 06.09.2011, 18:20   #22
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

Дмитрий, почему у меня на работает ваша ф-ция. Из разных примеров на разных форумах пытался запустить - останавливается на cn.Open sCon. Якобы не удается найти указанный поставщик (именно так, не "указанного поставщика"). Может ссылки какие подключить (или отключить)?
Ексель 2010, запускаю из сохраненного на диск файла, кнопочку нажимаю аккуратно
nilem вне форума Ответить с цитированием
Старый 06.09.2011, 18:30   #23
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Цитата:
Сообщение от nilem Посмотреть сообщение
Дмитрий, почему у меня на работает ваша ф-ция. Из разных примеров на разных форумах пытался запустить - останавливается на cn.Open sCon. Якобы не удается найти указанный поставщик (именно так, не "указанного поставщика"). Может ссылки какие подключить (или отключить)?
Ексель 2010, запускаю из сохраненного на диск файла, кнопочку нажимаю аккуратно
Николай , возможно из Tempa запускаем, а надо сохранять на физический диск.
Использовал позднее связывание поэтому подключать дополнительно ничего не надо.
других причин поидее не должно быть, сам юзаю 2010 офис
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 06.09.2011, 18:37   #24
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Проверил в 3,7 и 10 версиях. Все работает. Коль, мож у тебя msQuery не подключен?
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 06.09.2011, 18:40   #25
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Да Николай если еще стоит чистый 14 офис, возможно не находит библиотеку 12.0
тогда просто замени на 14.0 или весь кейс

Код:
Select Case CLng(Split(Application.Version, ".")(0))
    Case Is < 12
        sCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FilePath _
          & ";Extended Properties=""Excel 8.0;HDR=" & FieldName & ";IMEX=1"";"
    Case 12
        sCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & FilePath _
        & ";Extended Properties=""Excel 12.0;HDR=" & FieldName & ";IMEX=1"";"
    Case 14
        sCon = "Provider=Microsoft.ACE.OLEDB.14.0;Data Source=" & FilePath _
        & ";Extended Properties=""Excel 14.0;HDR=" & FieldName & ";IMEX=1"";"
End Select

Отпишись пожалуйста заработает или нет, и поясни какая операционка стоит ? может Win7X64
С уважением, Дмитрий.
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234

Последний раз редактировалось R Dmitry; 06.09.2011 в 18:47.
R Dmitry вне форума Ответить с цитированием
Старый 06.09.2011, 18:46   #26
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Дим, она работает медленней из-за того, что открывает свой же файл в режиме readonly. Кстати, поменял строку так:
Call ADO_R_Dmitry(strSql2, ThisWorkbook.Name, Sheets(2).[a1], True, True) - работает.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 06.09.2011, 19:01   #27
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Цитата:
Сообщение от kuklp Посмотреть сообщение
Дим, она работает медленней из-за того, что открывает свой же файл в режиме readonly. Кстати, поменял строку так:
Call ADO_R_Dmitry(strSql2, ThisWorkbook.Name, Sheets(2).[a1], True, True) - работает.
я как то замерял время внутри функции, так оказалось что самая длительная операция (не считая первого запуска) является выгрузка данных на лист.

осмелюсь предположить CopyFromRecordset транспонирует рекордсет перед выгрузкой на лист

соответсвенно из за этого и тормозит
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 06.09.2011, 19:17   #28
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

Цитата:
Сообщение от R Dmitry Посмотреть сообщение
Отпишись пожалуйста заработает или нет, и поясни какая операционка стоит ? может Win7X64
С уважением, Дмитрий.
Все равно не хочет работать. ОС 7 макс х32.
А msQuery это что и куда?
(Вообще ламер какой-то, да?)

Кстати, и сам писал что-то подобное, и все, помнится, работало. Нашел старый примерчик, теперь не фурычит. В системе может что случилось?

Последний раз редактировалось nilem; 06.09.2011 в 19:23.
nilem вне форума Ответить с цитированием
Старый 06.09.2011, 19:34   #29
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Попробуй так запустить. См. скрин. "(Вообще ламер какой-то, да?)" - всем бы такими ламерами быть:-).
Изображения
Тип файла: gif 2011-09-06_183238.gif (33.6 Кб, 46 просмотров)
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728

Последний раз редактировалось kuklp; 06.09.2011 в 19:36.
kuklp вне форума Ответить с цитированием
Старый 06.09.2011, 19:58   #30
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

Сергей, перепробовал все источники - все работает.
Опытным путем обнаружил - ф-ция Дмитрия работает с такой строкой подкл-я:
sCon = "Provider=Microsoft.Jet.OLEDB.4.0;D ata Source=" & FilePath _
& ";Extended Properties=""Excel 8.0;HDR=" & FieldName & ";IMEX=1"";"
А с этим: Provider=Microsoft.ACE.OLEDB.12.0, - не хочет.
nilem вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
убрать дубликаты Nasten'ka7 Microsoft Office Excel 1 21.03.2011 18:49
подсчёт суммы, если меняется количество слагаемых kaa1977 Microsoft Office Excel 1 17.03.2011 17:52
окрасить дубликаты Romuald Microsoft Office Excel 5 07.03.2011 16:33