ник: joka
посмотрите вот что в итоге написал
Private Sub ОбластьДанных_Print(Cancel As Integer, PrintCount As Integer)
Dim ctrl As Control
Me.ScaleMode = 1
Me.DrawStyle = 0
With Me.ОбластьДанных
For Each ctrl In .Controls
If Left(ctrl.name, 7) = "Надпись" Then
Me.Line (ctrl.Left, ctrl.Top)-(ctrl.Left + ctrl.Width, ctrl.Top + ctrl.Height), , B
End If
Next
End With
End Sub
впринципе работает, но есть одна тонкость в выражении "ctrl.Top + ctrl.Height", должен учавствовать не ctrl (у которого имя начинается с "Надпись"), а его правый сосед = поле со свойством расширение. Для этого поля прямоугольник можно не рисовать поскольку если выставить границу то он сам и прорисуется после расширения, но координаты но взять именно с этого поля чтобы высота рамки "Надписи" совпала с высотой соответсвующего ей поля справа.
структура отчета простая
надпись1 | поле1
надпись2 | поле2
надпись3 | поле3
надпись4 | поле4
и т.д.
можно как то в то выражение подставить данные с нужного мне поля?