powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Отчет: поля
13 сообщений из 13, страница 1 из 1
Отчет: поля
    #32602992
башмак
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую вас, коллеги.
Как бы программно задать размеры полей в отчетах, а то они все время сбиваются на какие-то по умолчанию не нужные мне?
...
Рейтинг: 0 / 0
Отчет: поля
    #32603030
Collins
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В принципе, можно повесить на событие "Форматирование" нужной Вам области процедуру, в которой и устанавливать размер поля.
Например:
Код: plaintext
1.
2.
Me.MyField.Height =  200  
Me.MyField.Width =  200  
Но можно поставить и автоматическое расширение или сжатие поля, чтобы помещались все данные.
...
Рейтинг: 0 / 0
Отчет: поля
    #32603223
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dim rpt As Report
DoCmd.OpenReport "Клиенты", acPreview, , , acHidden
Set rpt = Reports("Клиенты")
With rpt.Printer
.BottomMargin = 2 * 567
.TopMargin = 1 * 567
.LeftMargin = 1 * 567
.RightMargin = 2 * 567
.PaperSize = acPRPSA3
End With
DoCmd.OpenReport "Клиенты", acPreview
...
Рейтинг: 0 / 0
Отчет: поля
    #32603296
башмак
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ищDim rpt As Report
DoCmd.OpenReport "Клиенты", acPreview, , , acHidden
Set rpt = Reports("Клиенты")
With rpt.Printer
.BottomMargin = 2 * 567
.TopMargin = 1 * 567
.LeftMargin = 1 * 567
.RightMargin = 2 * 567
.PaperSize = acPRPSA3
End With
DoCmd.OpenReport "Клиенты", acPreview
Что такое 567?
acPRPSA3 - это формат А3? если мне нужен А4, то ставить acPRPSA4 ?
PS большое спасибо.
...
Рейтинг: 0 / 0
Отчет: поля
    #32603408
zstar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но можно поставить и автоматическое расширение или сжатие поля, чтобы помещались все данные.[/quot]

Вот имеется текст для этого, если кому надо.

Private Sub ОбластьДанных_Print(Cancel As Integer, PrintCount As Integer)
Dim h As Single
h = funGetHeight(Me.Section(acDetail)) 'Опредеяем высоту строки
funDrawBox Me, h, 1 'Оформляем секцию с толщиной линий = 1
End Sub

'===============================================================
' Расчет высоты строки в секции в зависимости от форматирования
' поля отчета, например, TextBox
'
Private Function funGetHeight(sec As Section) As Single
Dim c As Control
funGetHeight = 0 'назначаем высоту ячейки
For Each c In sec.Controls 'Просматриваем все поля отчета
If funGetHeight < c.Height Then _
funGetHeight = c.Height 'Возвращаем максимальную высоту
Next c 'Следующее поле
End Function

'===============================================================
' Перед началом печати рисуем для каждого поля прямоугольник
'
Private Sub funDrawBox(rpt As Report, h As Single, w As Integer)
Dim c As Control
rpt.DrawWidth = w 'Толщина линии
'Просматриваем все поля отчета
For Each c In rpt.Section(acDetail).Controls
rpt.Line (c.Left, c.Top)-(c.Left + c.Width, h), , B 'Прямоугольник
Next c
End Sub

Но!
Это работает только на ОбластьДанных.

А мне бы еще на заголовки такое повесить.

Так ведь ругается:
"Выражение Печать, введенное в свойства События вызывает ошибку. Ambiguous name detected: funGetHeight"

Что делать?
...
Рейтинг: 0 / 0
Отчет: поля
    #32603428
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
567 -это перевод в сантиметры
т.к. размеры задаются в твипах
acPRPSA4
...
Рейтинг: 0 / 0
Отчет: поля
    #32603567
башмак
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, ругается на
With rpt.Printer
говорит application defined or object-defined error
...
Рейтинг: 0 / 0
Отчет: поля
    #32603589
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
начиная с А2002 ругаца не будит
...
Рейтинг: 0 / 0
Отчет: поля
    #32603603
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
/topic/97107
...
Рейтинг: 0 / 0
Отчет: поля
    #32603613
башмак
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч/topic/97107
А где ее (автозамену имен) отменяют?
...
Рейтинг: 0 / 0
Отчет: поля
    #32603678
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Отчет: поля
    #32603738
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Shuhard, спасибо. Я свою версию ответа удалил.
...
Рейтинг: 0 / 0
Отчет: поля
    #32603761
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Саныч!Рад стараться!
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Отчет: поля
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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