5 строк кода

Как писать приложения на MS Access

Как сделать табличный вид в отчете

Комментариев нет

Если в строку разместить несколько полей, добавить в оформлении рамку, то получим таблицу, как Word или Excel. Весь кайф может поломать всего лишь одно поле, которое содержит много текста и нужно ставить «Да» свойству «Расширение».

В этом случае придется немного по программировать. Для начала уберем у полей рамку. Добавим одну линию в конце нашей записи — lineEndRow. Вертикальные линии будем рисовать самостоятельно методом Report.Line меду началом секции «Область данных» и линией lineEndRow. Функцию ниже нужно вызывать из события ОбластьДанных_Print.


Вот реализация функции и живет она у меня в модуле mc_report:

Public Sub ReportPrintTable(ByRef lineEndRow As Line _
                            , Optional ByVal lColor As Long = 3355443)
' печать вертикальных линий
    Dim ctl As Control
    Dim sct As Section
    Dim lHeight As Long
    Dim rpt As Report
    
    Set rpt = lineEndRow.Parent
    
    Set sct = rpt.Section(acDetail)
    rpt.DrawWidth = 1
    
    lHeight = lineEndRow.Top
    For Each ctl In sct.Controls
        If ctl.ControlType = acTextBox Then
            rpt.Line (ctl.Left, ctl.Top)-Step(0, lHeight - 2), lColor
            rpt.Line (ctl.Left + ctl.Width, ctl.Top)-Step(0, lHeight - 2), lColor
        End If
    Next ctl
End Sub

Как это работает можно увидеть в примере.

До встречи!

(с) Скоков Сергей

Подписаться на: RSS или e-mail рассылку или добавить в ЖЖ друзья.

Written by Сергей Скоков

Январь 28th, 2012 at 11:07 пп

Leave a Reply