powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Программное редактирование SQL запроса сводной таблице Excel к FireBird (VBA)
3 сообщений из 3, страница 1 из 1
Программное редактирование SQL запроса сводной таблице Excel к FireBird (VBA)
    #38632901
Melafon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Люди, может кто-то сталкивался с такой проблемой:

Данные обрабатываются в FireBird, выводятся через ODBC подключение в сводные таблицы Excel. Есть общая сводная, которая содержит полную информацию о всех филиалах. Для отправки на филиалы в сводных необходимо отсечь лишнюю информацию, оставить только информацию филиала.

До перехода на FireBird использовался Access и там эта задача была решена следующим путем: макросом открывался файл, редактировалась SQL строка подключения (добавлялось условие where region="регион"), сводная обновлялась, файл сохранялся с соответствующим именем. При этом в процессе редактирование подключения менялась сама SQL, название подключения оставалось тем же, новые подключения не создавались


Если источник FireBird, то
1 проблема: это например если мы взяли одну сводную, накопировали ее, перекрутили в разных разрезах, т.е. источник один, то ни в какую не хочет менять SQL. Меняет, только если в книге 1 подключение = 1 сводная, связанная с ним.

2 проблема: когда 1 подключение = 1 сводная, код смены SQL отрабатывает, но при этом остается старое подключение с полным массивом данных, а сводная подключается к новому созданному с нужной строкой с именем "подключение". При этом размер файла увеличивается. Обошел это так: сделал справочник, в котором по порядковым номерам связал сводные с одинаковыми подключениями. При запуске макрос открывает исходный файл, создает новый, копирует в него лист со сводной первого подключения, меняет строку, меняет название созданного подключения "подключение" на нужное, затем по справочнику копирует из исходного файла остальные сводные этого подключения и источник переключается на новое название (уже отредактированное подключение), затем удаляется из нового файла уже неиспользуемое исходное подключение. Далее перехожу к следующему подключению.

3. проблема: excel 2013, файлы содержат срезы, при редактировании строки подключения как будто меняется версия сводной и срезы пропадают, вручную их уже добавить в сформированном файле нельзя, пишет что сводная версии ранее 2007.


Может кто-то решал подобные задачи, и у меня виденье нарезки неправильное? Строчку подключения и в Access и Firebird меняю кодом:

Код: vbnet
1.
2.
3.
set tmp = add.Workbooks
...........
tmp.Connections(t_old_connect_name).ODBCConnection.CommandText = Array("" & SQLtxt & "")
...
Рейтинг: 0 / 0
Программное редактирование SQL запроса сводной таблице Excel к FireBird (VBA)
    #38632929
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MelafonДанные обрабатываются в FireBird, выводятся через ODBC подключение в сводные таблицы Excel. Есть общая сводная, которая содержит полную информацию о всех филиалах. Для отправки на филиалы в сводных необходимо отсечь лишнюю информацию, оставить только информацию филиала.
А почему не сделаешь простой макрос, который по названию филиала будет вытаскивать информацию ТОЛЬКО по нему и строить нужные сводные?
К тому-же - я бы вытаскивал данные по филиалу на лист, как плоская таблица, а потом на основе этих данных строил своды и отправлял филиалу, что-бы они могли при необходимости построить свои своды. Но это только в том случае, если хватает строк на листе. Мне не хватает :(

P.S. И мне кажется что это тема для этой ветки
...
Рейтинг: 0 / 0
Программное редактирование SQL запроса сводной таблице Excel к FireBird (VBA)
    #38632957
Melafon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вытягивать плоскую таблицу и строить сводные не вариант, в сводных используется очень много форматирования + в файле может быть несколько подключений. Данные одного филиала содержат более 150 000 строк, т.е. в Excel 2013 на лист влезет, но потом программно сделать и отформатировать сводную и каждый раз когда нужно внести изменения ковыряться в коде - капец, когда то таким занимался, когда из основного отчета в виде плоской сгруппированной таблицы строились аналитические сводные. Здесь хочется настроить, чтобы готовые сводные резались.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Программное редактирование SQL запроса сводной таблице Excel к FireBird (VBA)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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