|
Подключение к xlsb
|
|||
---|---|---|---|
#18+
Товарищи, доброго времени суток! Прошу помощи, не могу никак разобраться. Есть файл .xlsb, в котором больше 250к строк. В Excel VBA делаю запрос: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Но запрос возвращает только 150к строк - на остальные никакого внимания не обращает, а порой, если брать другой файл (аналогичная база) запрос в рекордсет загоняет только 60к. В общем, всегда какое-то произвольное значение. С подключением к .csv была такая же проблема, но нашел решение с использованием файла schema.ini - но это для текстового формата, а структура .xlsb, я так понимаю, отличается. При этом если пересохранить в файл в xlsx, то все работает корректно. Насколько я могу понять, эта ошибка в определении подключения... но вот выявить ошибку никак не могу. Прошу помочь! Заранее благодарен. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2014, 21:15 |
|
Подключение к xlsb
|
|||
---|---|---|---|
#18+
Сделайте полные запросы (без указания Fields и WHERE) и обработайте их уже самим Excel'ем. Всё ли будет прочитано? итаки да, я тодозреваю, что проблема может быть и вот тут: "MONTH(F27) = '9' AND [F22] <> ''" ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2014, 22:56 |
|
Подключение к xlsb
|
|||
---|---|---|---|
#18+
Даже если я делаю самый простой запрос: Код: plsql 1.
и вставляю данные, он не видит всех строк. Или не вставляю, а просто прошу вывести сколько строк в рекордсете, тоже самое :( ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2014, 22:49 |
|
Подключение к xlsb
|
|||
---|---|---|---|
#18+
При этом попробовал пересохранить файл в формат .xlsx - все работает корректно, но это увеличивает время работы с 1,5 минут до 10-13 минут, что критично. Так что я склонен думать, что ошибка в самом подключении. Но никак не могу понять в чем. P.S. Сорри, не нашел как отредактировать сообщение свое. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2014, 22:52 |
|
Подключение к xlsb
|
|||
---|---|---|---|
#18+
Хм, дошел до того, что при открытой книге все работает как надо, при закрытой возникает описанная выше проблема. В чем может быть подвох? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2014, 23:48 |
|
Подключение к xlsb
|
|||
---|---|---|---|
#18+
А подход никак нельзя сменить? Ну кто же такое количество строк гоняет в экселе? Перетащи в mdb и делай все что надо за секунды, а не минуты.... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2014, 00:00 |
|
Подключение к xlsb
|
|||
---|---|---|---|
#18+
Shocker.ProНу кто же такое количество строк гоняет в экселе?Некоторые гоняют Вчера тестил быстродействие одного алгоритма - запрос на UNION трех диапазонов по 100k записей (т.е. получить все данные -дубликаты+сортировка) выполнялся за < 3 сек., какие минуты, что ты? Поэтому меня и поражает, что у ТС'а минуты его запрос выполняется. Вообще, без образца (причем - полного) данных сложно сказать, в чём проблема... А, да, ещё вариант. squitty , не пробовали добавить перед запросом Код: vbnet 1.
? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2014, 05:14 |
|
Подключение к xlsb
|
|||
---|---|---|---|
#18+
AndreTMНекоторые гоняютНамедни заехал в гости, попросили разобрать садовые качели на зиму. Два десятка болтов с гайками. Удивлялись потом скорости, с которой я это сделал. Потому что до меня пытались сделать это крестовой отверткой на два номера меньше и пассатижами. Отвертка подходящего размера и накидной ключ со "звездочкой" лежали рядом. Я к чему, можно и пассатижами, но лучше все-таки ключом, пусть даже придется немного потратить время, чтобы подобрать подходящий инструмент. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2014, 09:07 |
|
Подключение к xlsb
|
|||
---|---|---|---|
#18+
squittyзапрос возвращает только 150к строк - на остальные никакого внимания не обращает, а порой, если брать другой файл (аналогичная база) запрос в рекордсет загоняет только 60к. В общем, всегда какое-то произвольное значение. Не очень понятно, как именно получается количество "возвращаемых" записей. Не поленитесь вставить цикл перебора всех записей и посчитать их - просто в порядке дебаггинга: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2014, 09:23 |
|
|
start [/forum/topic.php?fid=61&msg=38783644&tid=2173788]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
72ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 302ms |
total: | 473ms |
0 / 0 |