|
Работа с заголовком и уровнями группировки при программном создании отчета
|
|||
---|---|---|---|
#18+
Здравствуйте! При программном создании отчета возникли три вопроса, но посвящать каждому отдельную тему, наверное не стоит. Вот эти вопросы. 1-й вопрос. При создании контрола в области заголовка Код: vbnet 1.
заголовок должен уже существовать, то есть в меню Строка меню —> Вид должен быть включен переключатель Заголовок/примечание отчета . Для этого применяю Код: vbnet 1.
Но поскольку это переключатель, то применение этой команды при уже существующем заголовке приведет к исчезновению этого заголовка. Отсюда вопрос: Как узнать заранее, есть ли уже заголовок? Пока делаю так: Код: vbnet 1. 2. 3. 4. 5. 6. 7.
Но может есть способ лучше? 2-й вопрос. Создаю группу с заголовком Код: vbnet 1. 2.
После этого создаю контролы в заголовке созданной группы Код: vbnet 1.
Вместо выделенного красным вопросительного знака нужно указать номер созданного уровня группировки - от 1 до 10. Отсюда вопрос: Как узнать номер созданного уровня группировки? Хотя .GroupLevel это массив, но UBound(.GroupLevel) применить не удалось. Поэтому делаю так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Но хорошо ли это? Как сделать правильнее? 3-й вопрос. Можно ли программно удалить определенный уровень группировки (группу)? Если можно, то как? _____________________________________________________________ Пояснения: а) Используется запись с точками .Name/.Section/... потому, что все это находится внутри With <отчет> ..... End With. б) Конечно, в отдельных случаях я могу и знать, есть уже заголовок или нет, как и номер уровня группировки. Но хочется сделать в общем виде. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2017, 00:31 |
|
Работа с заголовком и уровнями группировки при программном создании отчета
|
|||
---|---|---|---|
#18+
по п.2. Функция CreateGroupLevel возвращает указатель (Integer), указывающий на позицию созданного уровня группировки. Для первого = 0 и т.д. 5 первых позиций Section от 0 до 4 зарезервированы для ... Соответственно, первый из добавленных GroupLevel попадет в Section в позицию с номером 5. Далее простая математика. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2017, 20:14 |
|
Работа с заголовком и уровнями группировки при программном создании отчета
|
|||
---|---|---|---|
#18+
Дополнение/поправка: Predeclared... Соответственно, Header первой из добавленных GroupLevel попадет в Section в позицию с номером 5, Footer в позицию с номером 6. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2017, 20:18 |
|
Работа с заголовком и уровнями группировки при программном создании отчета
|
|||
---|---|---|---|
#18+
Predeclared, Проверила - абсолютно точно. То есть, в выражении Код: sql 1.
значение varGroupLevel и есть то, что мне нужно. А уж "простую математику" (скорее, арифметику) я уже и так применяю, в примере есть.))) Теперь становится так: Код: vbnet 1.
Отлично! Спасибо большое! На вопрос номер два ответ получен! Спасибо еще раз! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2017, 20:27 |
|
Работа с заголовком и уровнями группировки при программном создании отчета
|
|||
---|---|---|---|
#18+
PredeclaredДополнение/поправка: Predeclared... Соответственно, Header первой из добавленных GroupLevel попадет в Section в позицию с номером 5, Footer в позицию с номером 6.Я все поняла, как надо, и без поправки.))) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2017, 20:28 |
|
Работа с заголовком и уровнями группировки при программном создании отчета
|
|||
---|---|---|---|
#18+
__Michelle... Я все поняла, как надо, и без поправки. Молодец! Но кто-то другой мог и не понять. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2017, 20:33 |
|
Работа с заголовком и уровнями группировки при программном создании отчета
|
|||
---|---|---|---|
#18+
Predeclared, А программное удаление групп возможно (вопрос три)? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2017, 20:35 |
|
Работа с заголовком и уровнями группировки при программном создании отчета
|
|||
---|---|---|---|
#18+
Создание заголовка работает в базе, в которой можно отчет открыть в конструкторе. у юзера же база в лучшем случае в рантайме. Потому в общем случае в отчете заголовок лучше должен быть, а потом если нужно спрятать - прячете - Me.Section(acGroupLevel1Header).Visible = False аналогично с группами -они должны быть - настраивается ControlSource, поля в группе, .visible-true - если нет-то ControlSource="" и пр., и .visible=false ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2017, 20:40 |
|
Работа с заголовком и уровнями группировки при программном создании отчета
|
|||
---|---|---|---|
#18+
про заголовок Me.Section(acHeader).Visible = False-конечно же ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2017, 20:43 |
|
Работа с заголовком и уровнями группировки при программном создании отчета
|
|||
---|---|---|---|
#18+
alecko, Да нет, Вы не о том совсем.))) Visible - это управление выводом на экран/бумагу при предварительном просмотре/печати. И при чем здесь юзер? Мои пользователи исходники от меня не получают, еще не хватало им режима конструктора.))) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2017, 20:49 |
|
Работа с заголовком и уровнями группировки при программном создании отчета
|
|||
---|---|---|---|
#18+
alecko... у юзера же ... А про работу с отчетом у юзера тут никто и не говорил. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2017, 20:52 |
|
Работа с заголовком и уровнями группировки при программном создании отчета
|
|||
---|---|---|---|
#18+
__Michelle, создание и удаление разделов возможно только в режиме конструктора. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2017, 21:29 |
|
Работа с заголовком и уровнями группировки при программном создании отчета
|
|||
---|---|---|---|
#18+
alecko, что заставляет Вас думать, что я об этом не знаю? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2017, 21:31 |
|
Работа с заголовком и уровнями группировки при программном создании отчета
|
|||
---|---|---|---|
#18+
__MichellePredeclared, ..... .....Теперь становится так: Код: vbnet 1.
А тут уже у меня неточность. Нужно так: Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2017, 21:38 |
|
Работа с заголовком и уровнями группировки при программном создании отчета
|
|||
---|---|---|---|
#18+
__Michelle"Как узнать заранее, есть ли уже заголовок?" при создании отчета вновь Вы его создаете, а поскольку есть этот вопрос, и все делается программно, посчитал что все таки речь идет об управлении ранее созданным отчетом. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2017, 22:00 |
|
Работа с заголовком и уровнями группировки при программном создании отчета
|
|||
---|---|---|---|
#18+
alecko__Michelle"Как узнать заранее, есть ли уже заголовок?" при создании отчета вновь Вы его создаете, а поскольку есть этот вопрос, и все делается программно, посчитал что все таки речь идет об управлении ранее созданным отчетом.О Боги! Простейший пример. Допустим, идет процесс отладки процедуры, создающей заголовок отчета и заполняющей этот заголовок контролами. Процедура в ходе отладки запускается на выполнение неоднократно. При уже возможно имеющемся заголовке, созданном этой самой процедурой в одном из предыдущих запусков. Отключать (закомментировать) участок создания заголовка не хочется, вот и выполняется проверка создавать-не создавать. А проверка как раз и заключается в выяснении ""...есть ли уже заголовок?". Теперь понятно? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2017, 22:15 |
|
Работа с заголовком и уровнями группировки при программном создании отчета
|
|||
---|---|---|---|
#18+
заморочился как-то программным созданием форм и отчетов, а потом оказалось что эти функции в .accde не работают :(. потому и решил предупредить :) создал несколько универсальных отчетов - засунул в репорт-опен модуль класса и управляю видимостью, контрол-сорсами и пр. в уже созданных отчетах. и тут Вы, __Michelle правы - это не ваш случай. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2017, 22:37 |
|
Работа с заголовком и уровнями группировки при программном создании отчета
|
|||
---|---|---|---|
#18+
alecko... - засунул в репорт-опен модуль класса и ... Круто. Я так не умею. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2017, 22:46 |
|
|
start [/forum/topic.php?fid=45&msg=39392489&tid=1612737]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 355ms |
total: | 494ms |
0 / 0 |