Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Отчет: поля / 13 сообщений из 13, страница 1 из 1
14.07.2004, 09:14:19
    #32602992
башмак
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет: поля
Приветствую вас, коллеги.
Как бы программно задать размеры полей в отчетах, а то они все время сбиваются на какие-то по умолчанию не нужные мне?
...
Рейтинг: 0 / 0
14.07.2004, 09:39:47
    #32603030
Collins
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет: поля
В принципе, можно повесить на событие "Форматирование" нужной Вам области процедуру, в которой и устанавливать размер поля.
Например:
Код: plaintext
1.
2.
Me.MyField.Height =  200  
Me.MyField.Width =  200  
Но можно поставить и автоматическое расширение или сжатие поля, чтобы помещались все данные.
...
Рейтинг: 0 / 0
14.07.2004, 11:04:14
    #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
14.07.2004, 11:22:24
    #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
14.07.2004, 11:46:48
    #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
14.07.2004, 11:51:28
    #32603428
ищ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет: поля
567 -это перевод в сантиметры
т.к. размеры задаются в твипах
acPRPSA4
...
Рейтинг: 0 / 0
14.07.2004, 12:37:00
    #32603567
башмак
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет: поля
Кстати, ругается на
With rpt.Printer
говорит application defined or object-defined error
...
Рейтинг: 0 / 0
14.07.2004, 12:42:01
    #32603589
ищ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет: поля
начиная с А2002 ругаца не будит
...
Рейтинг: 0 / 0
14.07.2004, 12:47:37
    #32603603
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет: поля
/topic/97107
...
Рейтинг: 0 / 0
14.07.2004, 12:50:54
    #32603613
башмак
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет: поля
Владимир Саныч/topic/97107
А где ее (автозамену имен) отменяют?
...
Рейтинг: 0 / 0
14.07.2004, 13:17:57
    #32603678
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет: поля
...
Рейтинг: 0 / 0
14.07.2004, 13:31:26
    #32603738
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет: поля
Shuhard, спасибо. Я свою версию ответа удалил.
...
Рейтинг: 0 / 0
14.07.2004, 13:39:25
    #32603761
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет: поля
Саныч!Рад стараться!
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Отчет: поля / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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