Private Sub ОбластьДанных_Print(Cancel As Integer, PrintCount As Integer)
If PrintCount > 1 Then
Exit Sub
End If
'-- отрисовка вертикальных линий
'-- чтобы получилась таблица
Dim ctl As Control
Dim lHeight As Long
'-- высоту определяет поле название пункта
Set ctl = Me.P_N_PRIM
lHeight = ctl.Height
Me.DrawWidth = 1
'-- отрисовываются линии только вертикальные и области данных
'-- номера линий указаны слева на право
'-- 3-я
Me.Line (ctl.Left, ctl.Top)-Step(0, lHeight), RGB(0, 0, 0)
'-- 4-я
Me.Line (ctl.Left + ctl.Width, ctl.Top)-Step(0, lHeight), RGB(0, 0, 0)
'-- 2-я
Set ctl = Me.P_C_COUNT
Me.Line (ctl.Left, ctl.Top)-Step(0, lHeight), RGB(0, 0, 0)
'-- 1-я
Set ctl = Me.P_N_GRUP
Me.Line (ctl.Left, ctl.Top)-Step(0, lHeight), RGB(0, 0, 0)
End Sub
Размер поля в отчете
Допустим одна запись содержит 120 символов и строка должна разложится в отчете на две, т.е. высота поля должна автоматически увеличится в два раза, соответственно остальные поля надо спустить автоматом вниз на такое же к-во миллиметров, а если скажем 50 символов, то ничего ни куда не смещается.
Подскажите, как можно это сделать? Какие команды использовать, а то получается не красиво? Требуется выводить инфу в 5 полях отчета, а количество символов в записях может меняться от 5 символов до 255, соответственно получаются в некоторых полях где мало символов большие просветы между полями т.к. сейчас высота полей выставлена под размер двух строк.
Спасибо за внимание.
1. границы полей сделать прозрачными
2. создать обработчик события отчета Paint нужного раздела отчета
3. в этом обработчике можно найти самое высокое поле и нарисовать сетку при помощи метода отчета Line (высота уже известна) вокргу всех полей находящихся на одной линии. ДЛя упрощения можно рисовать только вертикальные линии, а горизонтальные нарисовать сразу в конструкторе.
Код:
Цитата:
Originally posted by Victor_F
В Access требуется в зависимости от длины содержимого поля изменять его высоту в отчете и изменять отступ сверху в последующих полях.
Допустим одна запись содержит 120 символов и строка должна разложится в отчете на две, т.е. высота поля должна автоматически увеличится в два раза, соответственно остальные поля надо спустить автоматом вниз на такое же к-во миллиметров, а если скажем 50 символов, то ничего ни куда не смещается.
Подскажите, как можно это сделать? Какие команды использовать, а то получается не красиво? Требуется выводить инфу в 5 полях отчета, а количество символов в записях может меняться от 5 символов до 255, соответственно получаются в некоторых полях где мало символов большие просветы между полями т.к. сейчас высота полей выставлена под размер двух строк.
Спасибо за внимание.
В Access требуется в зависимости от длины содержимого поля изменять его высоту в отчете и изменять отступ сверху в последующих полях.
Допустим одна запись содержит 120 символов и строка должна разложится в отчете на две, т.е. высота поля должна автоматически увеличится в два раза, соответственно остальные поля надо спустить автоматом вниз на такое же к-во миллиметров, а если скажем 50 символов, то ничего ни куда не смещается.
Подскажите, как можно это сделать? Какие команды использовать, а то получается не красиво? Требуется выводить инфу в 5 полях отчета, а количество символов в записях может меняться от 5 символов до 255, соответственно получаются в некоторых полях где мало символов большие просветы между полями т.к. сейчас высота полей выставлена под размер двух строк.
Спасибо за внимание.