
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
13.05.2010, 18:06
|
|||
|---|---|---|---|
Sql - запрос к Recordset |
|||
|
#18+
Господа, такая задача: Есть открытый Recordset, который содержит выборку из базы данных SQL. Задача - выполнить к рекордсету ещё серию запросов (циклическая обработка). Это возможно? Или может быть в Экселе можно создать виртуальную временную таблицу, к которой потом можно применять селекты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.05.2010, 18:55
|
|||
|---|---|---|---|
Sql - запрос к Recordset |
|||
|
#18+
Flaer, может быть лучше в SQL-запросе использовать подзапросы (т.е. вложенные запросы), чтобы делать выборку данных за один "проход"? Предпочтительно, конечно, организовать сложный запрос без подзапросов, если это возможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.05.2010, 19:05
|
|||
|---|---|---|---|
Sql - запрос к Recordset |
|||
|
#18+
Обычно так и делаю, максимум нагрузки отдаю на SQL Server, но в данном случае если сделать цикл непосредственно к БД, но тогда у меня вырастает порядка 100 тыс дополнительных запросов к БД, чего сами понимаете делать не хочется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.05.2010, 19:14
|
|||
|---|---|---|---|
Sql - запрос к Recordset |
|||
|
#18+
Тогда, наверное, - временная таблица на листе Excel. Только не виртуальная, а вполне реальная )) И фильтр. Авто- или расширенный... Можно, конечно, при желании, делать запросы к книге Excel и через подключение с помощью ADO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.05.2010, 19:41
|
|||
|---|---|---|---|
Sql - запрос к Recordset |
|||
|
#18+
Это не вариант-не хватит листа для всех срок (более 100 тыс), да и медленно это ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.05.2010, 20:07
|
|||
|---|---|---|---|
Sql - запрос к Recordset |
|||
|
#18+
Посмотрел про рекордсет: есть у него св-во Filter для извлечения поднабора записей. Есть ещё методы Find (находит набор записей, соответствующих какому-то критерию) и Seek (поиск записи с исп. индекса, но только на наборе клиентской стороны). Всё это я использовать не пробовал, но, возможно, что-то из этого перечня Вам поможет )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.05.2010, 22:18
|
|||
|---|---|---|---|
Sql - запрос к Recordset |
|||
|
#18+
Нарыл про синтаксис: Код: plaintext 1. 2. 3. 4. 5. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.05.2010, 22:33
|
|||
|---|---|---|---|
Sql - запрос к Recordset |
|||
|
#18+
FlaerЭто не вариант-не хватит листа для всех срок (более 100 тыс), да и медленно это Если можно дробить запросы на части, по кол-ву строк листа Excel, то это - всего 2 запроса в версии Excel младше 12-й, а в 2007-м - строк хватит с лихвой без дробления. Насчёт "медленно" не соглашусь: содержимое рекордсета копируется на лист оч. быстро (диапазон.CopyFromRecordset rs); фильтры Excel работают также не медленно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.05.2010, 22:46
|
|||
|---|---|---|---|
|
|||
Sql - запрос к Recordset |
|||
|
#18+
Flaer, Flaer...но тогда у меня вырастает порядка 100 тыс дополнительных запросов к БД... Flaer...всех срок (более 100 тыс)... рискуете состариться пока клиент будет 100к запрососв к набору записей из >100к строк отрабатывать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.05.2010, 22:51
|
|||
|---|---|---|---|
Sql - запрос к Recordset |
|||
|
#18+
Про оперативную память, Дождёмся комментария автора. Пока сообщение о 100к запросов к БД воспринимаю как опечатку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.05.2010, 17:53
|
|||
|---|---|---|---|
Sql - запрос к Recordset |
|||
|
#18+
vlthЕсли можно дробить запросы на части, по кол-ву строк листа Excel, то это - всего 2 запроса в версии Excel младше 12-й, а в 2007-м - строк хватит с лихвой без дробления. Насчёт "медленно" не соглашусь: содержимое рекордсета копируется на лист оч. быстро (диапазон.CopyFromRecordset rs); фильтры Excel работают также не медленно.Да и в память при желании загнать в виде массива тоже не такая уж проблема: Код: plaintext 1. 2. 3. Код: plaintext 1. 2. 3. А еще рекордсет можно легко загнать в сводную таблицу Код: plaintext 1. 2. 3. 4. 5. 6. Вообще, топик-стартеру не мешало бы несколько приоткрыть завесу таинственности вокруг выссказывания "выполнить... серию запросов (циклическая обработка)" посредством конкретного примера запроса или даже фрагмента кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=61&tablet=1&tid=2178135]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
177ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 490ms |

| 0 / 0 |
