|
|
|
Можно ли передать в Эксель результат посл-ти Селектов?
|
|||
|---|---|---|---|
|
#18+
Есть ли такая возможность? Просто это решалось раньше на маленьких таблицах посредством МС Квери с параметрами, но там в пределе было 5-6 таблиц в запросе, причем самый жирный справочник по максимуму пару сотен тысяч строк содержал. У заказчика нехорошая хотелка генерировать динамически СКЛ-запрос, кот-й реализуется посредством внутренних объединений 10-ка таблиц внешней БД, при этом только в 1 таблице-справочнике (это самая адская таблица из тех, кот-е я видел в Джестори) записей порядка нескольких млн. Получение таких данных одним запросов реально времязатратно (как минимум). Как я понимаю, это нужно фигачить последовательность СЕЛЕКТОВ по паре таблиц с внутренним объединением и последующим объединением со справочниками. Как-то это можно реализовать в Экселе? ЗЫ Мой опыт говорит, что выгрузка подобных данных даже при реализации механизма последовательности СКЛ-запросов занимает несколько часов. Кто подскажет, как объяснить заказчику, что ее задача в принципе при таком ТЗ не решается на раз, а нужно таблицы фактов из внешней БД сначала выкачивать, что займет времени здорово не часы? _____ Smooth operator operating correctly. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2010, 18:04 |
|
||
|
Можно ли передать в Эксель результат посл-ти Селектов?
|
|||
|---|---|---|---|
|
#18+
кладовщикЕсть ли такая возможность? да кладовщикПросто это решалось раньше на маленьких таблицах посредством МС Квери с параметрами, но там в пределе было 5-6 таблиц в запросе, причем самый жирный справочник по максимуму пару сотен тысяч строк содержал. всегда от большего к меньшему кладовщикУ заказчика нехорошая хотелка генерировать динамически СКЛ-запрос,нормальная реализуемая хотелка кладовщиккот-й реализуется посредством внутренних объединений 10-ка таблиц внешней БД, при этом только в 1 таблице-справочнике (это самая адская таблица из тех, кот-е я видел в Джестори) записей порядка нескольких млн. это вообще обыденность юза больших серверов кладовщикПолучение таких данных одним запросов реально времязатратно (как минимум). Штатный экстрасенс в отпуске. Где структура БД, оборудование и т.п. О чем говорить? кладовщикКак я понимаю, это нужно фигачить последовательность СЕЛЕКТОВ по паре таблиц с внутренним объединением и последующим объединением со справочниками.Штатный экстрасенс в отпуске. кладовщикКак-то это можно реализовать в Экселе?на VBA через ADODB кладовщикЗЫ Мой опыт говорит, что выгрузка подобных данных даже при реализации механизма последовательности СКЛ-запросов занимает несколько часов.что тут комментировать, без БД и производственных мощностей не о чем говорить. Верим Вашему опыту, но вообще сначала задайте вопросы архитектору БД. кладовщик Кто подскажет, как объяснить заказчику, что ее задача в принципе при таком ТЗ не решается на раз, а нужно таблицы фактов из внешней БД сначала выкачивать, что займет времени здорово не часы?работа с заказчиками не мой конек. А вообще отсутствие знаний у Вас или у архитектора БД не означает невозможность решения задачи. Ищите, учитесь это же клево. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2010, 18:18 |
|
||
|
Можно ли передать в Эксель результат посл-ти Селектов?
|
|||
|---|---|---|---|
|
#18+
кладовщик, это итоги по какому-то критерию или список(типа инвентарки) когда понимаешь предметную сущность -легче соображается а так одни слова -много -долго -непонятно как и почему обязательно ехсель. можно рабочую таблицу в чем-то другом и кстати--примерный объем результата. вряд ли человек осилит более 1000-10000 строк в разных итогах, а в списке еще меньше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2010, 18:24 |
|
||
|
Можно ли передать в Эксель результат посл-ти Селектов?
|
|||
|---|---|---|---|
|
#18+
2ПЕНСИОНЕРКА Это список: поставщиков-получателей нужно выбрать из таблиц фактов, и к ним присобачить кучу справочников, включая сатанинский мной вышеупомянутый, где 1-му товару соответствует 23 записи комментов о нем. 2Shamanus "на VBA через ADODB" Так я и думал))) Т.е. без программирования это не сделать. Архитекторы БД, как я понимаю, в далекой Франции. Проблема с сервером, ну и с идиотской таблицей, наверное. Слабо представляю себе пользователя, кот-й будет ждать выгрузки своих данных в течение нескольких часов. Опять же, о сервере. Выгружаю 2-3 миллиона записей за 40 минут ночью, днем это занимает около 3 часов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2010, 18:37 |
|
||
|
Можно ли передать в Эксель результат посл-ти Селектов?
|
|||
|---|---|---|---|
|
#18+
ПЕНСИОНЕРКАкладовщик, ехсель. можно рабочую таблицу в чем-то другом и кстати--примерный объем результата. вряд ли человек осилит более 1000-10000 строк в разных итогах, а в списке еще меньше Эксель потому что это 1. У меня нет никаких других общепризнанных рабочих инструментов. в принципе могу в 1С делать, если задаться такой целью. 2. Наши люди реально зырят эксельные таблицы на несколько сотен тысяч строк. Ну или делают вид, что они это делают ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2010, 18:41 |
|
||
|
Можно ли передать в Эксель результат посл-ти Селектов?
|
|||
|---|---|---|---|
|
#18+
кладовщик, автор2. Наши люди реально зырят эксельные таблицы на несколько сотен тысяч строк. Ну или делают вид, что они это делают ))) мы использовали для просмотра табличку типа (access\excel) изд извещ год извещ сборка дет покупн шифр детали наименование гравировка цех *подши*гост* 001 сб 01 2010 гайка*м12*хром 101 12 -набиваещь то что знаешь -на этом признаке удобно просматривать материалы, детали, счета фактуры -видны условия поиска и история поиска -немного подправил и в поиск -допустим нечеткий поиск запоминание результатов поиска для дальнейшей обработки -все поля -поля по списку -итого по полям списка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2010, 19:16 |
|
||
|
Можно ли передать в Эксель результат посл-ти Селектов?
|
|||
|---|---|---|---|
|
#18+
кладовщик, авторСлабо представляю себе пользователя, кот-й будет ждать выгрузки своих данных в течение нескольких часов. Опять же, о сервере. Выгружаю 2-3 миллиона записей за 40 минут ночью, днем это занимает около 3 часов. можно значительно уменьшить объем скачки -скачать справочники -первый раз полностью -далее -дополнения основные таблицы без справочников -если дата корректуры-новее последнего скачивания стыковка по запросу, что-бы не увеличивать промежуточную таблице -по счетам-фактурам у меня были раздельные рабочие таблицы по году,так как 90 % запросов были внутри года ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2010, 19:27 |
|
||
|
Можно ли передать в Эксель результат посл-ти Селектов?
|
|||
|---|---|---|---|
|
#18+
кладовщик"на VBA через ADODB" Так я и думал))) Т.е. без программирования это не сделать. Не обязательно. QueryTable прекрасно умеет работать с пакетными запросами или с хранимыми процедурами. Если ты можешь написать SQL команду(ы) которые выдают желаемый рекордсет - QueryTable может эту команду отправить на сервер и показать рекордсет. кладовщикСлабо представляю себе пользователя, кот-й будет ждать выгрузки своих данных в течение нескольких часов.У тебя плохое воображение (и мало опыта). Я встречал системы в которых на генерацию одного отчета стандартно уходило 80 часов. кладовщикОпять же, о сервере. Выгружаю 2-3 миллиона записей за 40 минут ночью, днем это занимает около 3 часов.Выгружая миллионы записей, не забывай что Эксель физически не может показывать больше 65тысяч строк за раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2010, 20:05 |
|
||
|
Можно ли передать в Эксель результат посл-ти Селектов?
|
|||
|---|---|---|---|
|
#18+
ПЕНСИОНЕРКА можно значительно уменьшить объем скачки -скачать справочники -первый раз полностью -далее -дополнения основные таблицы без справочников -если дата корректуры-новее последнего скачивания стыковка по запросу, что-бы не увеличивать промежуточную таблице -по счетам-фактурам у меня были раздельные рабочие таблицы по году,так как 90 % запросов были внутри года Для регламентной отчетности я так и делаю теперь. Пример про день/ночь - там только макрофакты качаются, т.е. одна таблица без всяких справочников. QueryTable прекрасно умеет работать с пакетными запросами или с хранимыми процедурами. Если ты можешь написать SQL команду(ы) которые выдают желаемый рекордсет - QueryTable может эту команду отправить на сервер и показать рекордсет. Про хранимые процедуры оставим, я не компетентен. Давайте о пакетных запросах. Справочники я могу выгрузить в Акцесс, а как в QueryTable связать таблицы фактов на Progress и справочники в Акцессе? Или, если не очень напряжно, приведите пример, как выполнить последовательность СКЛ-инструкций, кот-е сначала выбирают факты, а потом последовательно связывают их со справочниками и на эксельный лист выдается результирующий рекордсет. Где и как таблицы временные создавать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2010, 07:22 |
|
||
|
Можно ли передать в Эксель результат посл-ти Селектов?
|
|||
|---|---|---|---|
|
#18+
кладовщик, авторГде и как таблицы временные создавать? -я создавала рабочее несвязанное MDB на локалке(а2007). -копировала туда таблицы. создала запрос стыковки со справочниками -в екселе сделала сводную на запрос(2007) для стандартных выборок и итогов. данные в ексель не переносила -последовательность запросов отслеживалась вручную -суммарная длительность обработки 20 мин -с выдачей контрольной ведомости ответственным оператором -для выдачи итогов по счетам фактурам запросом создала таблицу (типа регистр в 1с) для обработки сводной таблицей из екселя период плательшиктовартип итогазначение количество= суммасумма НДСсумма с НДС ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2010, 08:07 |
|
||
|
Можно ли передать в Эксель результат посл-ти Селектов?
|
|||
|---|---|---|---|
|
#18+
кладовщикДавайте о пакетных запросах. Справочники я могу выгрузить в Акцесс, а как в QueryTable связать таблицы фактов на Progress и справочники в Акцессе? эээээ.... пожалуй никак. Связать две разнотипные базы в одном запросе невозможно. Но если все таблицы будут в одной общей базе (хотя бы через proxy или linked tables) то запросто. Пакетный запрос это что типа такого: Код: plaintext 1. Здесь #temp1 это автоматически создающаяся временная таблица которая умирает сразу после окончания пакета. Показан синтаксис TSQL, изобретеный в Sybase ASE и унаследованый MS SQL. Почти все серьезные БД умеют делать аналогичное, но может с небольшими отличиями в синтаксисе. Хранимая процедура это по существу тот же самый пакет, только сохраненный на сервере под определенным именем. кладовщик Где и как таблицы временные создавать?На сервере БД естественно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2010, 08:32 |
|
||
|
Можно ли передать в Эксель результат посл-ти Селектов?
|
|||
|---|---|---|---|
|
#18+
ПЕНСИОНЕРКА, White Owl thanks. Что-либо создавать на сервере Progress я, скорее всего, просто прав не имею. Да и нет времени разбираться, задачу формирования регламентной отчетности с меня никто не снимал. Так что пока такой вариант решения вижу: создавать в акцессе-2007 БД со связанными таблицами из Progress, пользователь в Экселе передает параметры, кот-е фигурируют в СКЛ-инструкциях в Код: plaintext Извращение какое-то :-/ ЗЫ Сейчас задумался, и как-то навскидку не придумал, как пользователь передает параметры в акцессную БД на сервере, к кот-му у него доступа нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2010, 09:09 |
|
||
|
Можно ли передать в Эксель результат посл-ти Селектов?
|
|||
|---|---|---|---|
|
#18+
А зачем все это создавать в Access? Поставь локально еще один сервер. И пусть хотя бы тот же Access работает с ним. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2010, 11:19 |
|
||
|
Можно ли передать в Эксель результат посл-ти Селектов?
|
|||
|---|---|---|---|
|
#18+
Оттестил в Акцессе добычу данных путем получения требуемой таблицы прогонкой 4 последовательных СКЛ-инструкций. Отрабатывает вроде как за минуты в выходной. Как теперь реализовать генерацию последовательности этих запросов с приемом параметров из Экселя? Пока думаю ч-з АДОДБ-шный Connection.Execute тупо в Акцессе последовательно временные таблицы создавать и финальную таблицу рекордсетом ч-з Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2010, 19:02 |
|
||
|
Можно ли передать в Эксель результат посл-ти Селектов?
|
|||
|---|---|---|---|
|
#18+
кладовщик, создать таблицу план_вып идпорядок выполненияпр выпвыполняемая работатекст sqlсчетчпо умолчанию сч*10логтекстmemo110vкопирование справ 1select * into rabs1 from sprav1220vкопир спр 2 .....sprav2330vкопир основн select * osn1 from tab1421vкопир спр3.... форма задания выполняемых работ [порядок выполнения] -в поле [пр вып] галочки на выполняемые работы Код: plaintext 1. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2010, 20:20 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=36915763&tid=2177535]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
182ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 507ms |

| 0 / 0 |
