|
|
|
Отчет: поля
|
|||
|---|---|---|---|
|
#18+
Приветствую вас, коллеги. Как бы программно задать размеры полей в отчетах, а то они все время сбиваются на какие-то по умолчанию не нужные мне? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 09:14:19 |
|
||
|
Отчет: поля
|
|||
|---|---|---|---|
|
#18+
В принципе, можно повесить на событие "Форматирование" нужной Вам области процедуру, в которой и устанавливать размер поля. Например: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 09:39:47 |
|
||
|
Отчет: поля
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 11:04:14 |
|
||
|
Отчет: поля
|
|||
|---|---|---|---|
|
#18+
ищ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 большое спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 11:22:24 |
|
||
|
Отчет: поля
|
|||
|---|---|---|---|
|
#18+
Но можно поставить и автоматическое расширение или сжатие поля, чтобы помещались все данные.[/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" Что делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 11:46:48 |
|
||
|
Отчет: поля
|
|||
|---|---|---|---|
|
#18+
567 -это перевод в сантиметры т.к. размеры задаются в твипах acPRPSA4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 11:51:28 |
|
||
|
Отчет: поля
|
|||
|---|---|---|---|
|
#18+
Кстати, ругается на With rpt.Printer говорит application defined or object-defined error ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 12:37:00 |
|
||
|
Отчет: поля
|
|||
|---|---|---|---|
|
#18+
начиная с А2002 ругаца не будит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 12:42:01 |
|
||
|
Отчет: поля
|
|||
|---|---|---|---|
|
#18+
/topic/97107 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 12:47:37 |
|
||
|
Отчет: поля
|
|||
|---|---|---|---|
|
#18+
Владимир Саныч/topic/97107 А где ее (автозамену имен) отменяют? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 12:50:54 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32603678&tid=1673218]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 189ms |
| total: | 304ms |

| 0 / 0 |
