Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: 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

и т.д.

можно как то в то выражение подставить данные с нужного мне поля?


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.