powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как программно сделать дубликат контрола в отчете?
21 сообщений из 21, страница 1 из 1
Как программно сделать дубликат контрола в отчете?
    #32484008
katvin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как программно сделать дубликат контрола в отчете?
    #32484100
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
CreateReportControl, а потом циклом скопировать свойства. Надо еще проверять, какое свойство копировать, а какое нет. Например, Name точно не надо.

Причем это только в режиме конструктора.
...
Рейтинг: 0 / 0
Как программно сделать дубликат контрола в отчете?
    #32484197
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Примерно так:

sub Duplicate(c as control)

dim c0 as control, p as property

set c0=createreportcontrol(...)
for each p in c.properties
select case p.name
case "name", ...
case else
c0.properties(p.name)=p
end select
next

end sub
...
Рейтинг: 0 / 0
Как программно сделать дубликат контрола в отчете?
    #32485017
katvin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Причем это только в режиме конструктора
Дублирование контролов должно происходить в момент запуска отчета.
А как мне запущенный отчет перевести в режим конструктора для добавления контролов, а потом открыть его в режиме просмотра.
...
Рейтинг: 0 / 0
Как программно сделать дубликат контрола в отчете?
    #32485021
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Если это в mde, то в конструкторе не откроется.
Если mdb, но им пользуются несколько юзеров, то это не годится, потому что они будут портить отчет друг другу.
Если mdb и один юзер, то все равно надо каждый раз после создания дополнительных контролов стирать их.

А вообще - у команды docmd.openreport есть параметр, который говорит, как открывать.
...
Рейтинг: 0 / 0
Как программно сделать дубликат контрола в отчете?
    #32485031
katvin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mdb и 1 юзер.
А вообще - у команды docmd.openreport есть параметр, который говорит, как открывать.
Хотелось бы добавление контролов привязать к Report_Open, но при обработке события отчета невозможен запуск OpenRecord.
Как же быть?
...
Рейтинг: 0 / 0
Как программно сделать дубликат контрола в отчете?
    #32485037
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
При открытии в конструкторе вообще события не работают.

Я бы насоздавал всех контролов заранее и при открытии только делал бы Visible тем, которым надо.
...
Рейтинг: 0 / 0
Как программно сделать дубликат контрола в отчете?
    #32485041
katvin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Огромное спасибо за советы.
...
Рейтинг: 0 / 0
Как программно сделать дубликат контрола в отчете?
    #32485128
katvin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как избавиться в отчете от пустых страниц, которые появляются из-за того что на них есть контролы, но Visible для этих контролов False.
...
Рейтинг: 0 / 0
Как программно сделать дубликат контрола в отчете?
    #32485133
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Невидимым контролам:
left=0
top=0
width=0
height=0

Отчету:
width=0

Секции:
height=0

И тогда отчет примет размеры в точности под те контролы, которые видны.
...
Рейтинг: 0 / 0
Как программно сделать дубликат контрола в отчете?
    #32485139
katvin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ясно. А я надеялась каким-нибудь одним свойством отделаться, а не всем контролам (а их немало) свойства выставлять.
Но все равно спасибо.
...
Рейтинг: 0 / 0
Как программно сделать дубликат контрола в отчете?
    #32485143
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Так циклом же можно.

dim c as control
for each c in me
if not c.visible then
c.left=0
c.top=0
c.width=0
c.height=0
endif
next
...
Рейтинг: 0 / 0
Как программно сделать дубликат контрола в отчете?
    #32487600
katvin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И тогда отчет примет размеры в точности под те контролы, которые видны.
Что-то отчет отказывается принимать размеры под видимые контролы.
Ставлю breakpoint, в watch' е ширина отчета поменялась, но отчет все равно открывается прежней ширины.
...
Рейтинг: 0 / 0
Как программно сделать дубликат контрола в отчете?
    #32487738
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
То есть торчит вправо? И весь правый край пустой?
...
Рейтинг: 0 / 0
Как программно сделать дубликат контрола в отчете?
    #32488076
katvin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То есть торчит вправо? И весь правый край пустой?
Получается страницы с данными чередуются с пустыми.
И еще вопрос. Как перевести отчет из режима конструктора в режим просмотра?
...
Рейтинг: 0 / 0
Как программно сделать дубликат контрола в отчете?
    #32488167
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
авторКак перевести отчет из режима конструктора в режим просмотра?
Просто закрыть и открыть. (Это если программно.)

Второй топик с этим вопросом я стер.
...
Рейтинг: 0 / 0
Как программно сделать дубликат контрола в отчете?
    #32488195
katvin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто закрыть и открыть
В режиме конструктора я делаю невидимыми часть контролов, меняя ширину отчета и т.д. А потом хочу посмотреть и распечатать отчет с измененным макетом, но при этом эти изменения я сохранять не хочу.
Получается, если закрыть отчет с сохранением все изменения сохранятся (а этого мне не нужно), а если без сохранения, то последующее открытие в режиме просмотра будет со старым макетом.
...
Рейтинг: 0 / 0
Как программно сделать дубликат контрола в отчете?
    #32488206
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Можно попробовать открыть не закрывая...
...
Рейтинг: 0 / 0
Как программно сделать дубликат контрола в отчете?
    #32488208
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
ваш покорный слугаТо есть торчит вправо? И весь правый край пустой?
авторПолучается страницы с данными чередуются с пустыми.
Странно мне это...
...
Рейтинг: 0 / 0
Как программно сделать дубликат контрола в отчете?
    #32488220
katvin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно попробовать открыть не закрывая...
Пробовала. Но тогда возникает другая проблема.
На просмотре все отлично, но при печате почему-то каждая страница отчета печатается дважды.
...
Рейтинг: 0 / 0
Как программно сделать дубликат контрола в отчете?
    #32488234
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Как-то оно уж совсем странно себя ведет...
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как программно сделать дубликат контрола в отчете?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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