Option Compare Database
Option Explicit
Private PosX1 As Long, PosY1 As Long, PosX2 As Long, PosY2 As Long, DatoN As Long
Public Sub DibujaLin(MiRept As String, MiModo As Boolean)
'Notas
'El primer parametro (MiRept), es el nombre del informe
'El segundo nos indicara el tipo de dibujo que deseamos
'False ==> solo lineas verticales
'True ==> Cuadriculado
'ScaleHeight ==> el total de la altura de la pagina
'Section(4) ==> el pie de la pagina
With Reports.Item(MiRept)
'Me.Line (0, 0)-(Me.ScaleWidth, Me.ScaleHeight), , B
PosX1 = .Id.Left 'coordenada X superior izquierda
PosY1 = .Id.Top 'coordenada Y superior izquierda
PosX2 = .Texto425.Left + .Texto425.Width 'coordenada X inferior derecha
PosY2 = .ScaleHeight - .Section(4).Height 'Coordenada Y inferior derecha
'Ponemos los valores por defecto en modo de dibujo
.DrawStyle = 0
.FillColor = 0
.FillStyle = 1
'Esta seccion imprime el marco y las lineas verticales
.DrawWidth = 20
Reports.Item(MiRept).Line (PosX1 - .DrawWidth, PosY1 - .DrawWidth)-(PosX2 + .DrawWidth, PosY2 + .DrawWidth), 0, B 'El marco
DatoN = .Section(3).Height + (.DrawWidth / 2) 'Nueva coordenada vertical
Reports.Item(MiRept).Line (PosX1, DatoN)-(PosX2, DatoN) 'Linea separadora del detalle
.DrawWidth = 10 'Modificamos el ancho del trazo
DatoN = .[Numero de afiliacion].Left ' Modificamos la posicion horizontal
Reports.Item(MiRept).Line (DatoN, PosY1)-(DatoN, PosY2) 'Linea divisora entre campos
DatoN = .[Apellidos y Nombres].Left ' Modificamos la posicion horizontal
Reports.Item(MiRept).Line (DatoN, PosY1)-(DatoN, PosY2) 'Linea divisora entre campos
DatoN = .Importe.Left ' Modificamos la posicion horizontal
Reports.Item(MiRept).Line (DatoN, PosY1)-(DatoN, PosY2) 'Linea divisora entre campos
DatoN = .ST.Left ' Modificamos la posicion horizontal
Reports.Item(MiRept).Line (DatoN, PosY1)-(DatoN, PosY2) 'Linea divisora entre campos
'Esta seccion imprime las lineas horizontales
If MiModo Then
.DrawWidth = 10
For DatoN = .Section(3).Height + .Section(0).Height To .ScaleHeight - .Section(4).Height Step .Section(0).Height
Reports.Item(MiRept).Line (PosX1, DatoN)-(PosX2, DatoN)
Next DatoN
End If
End With
End Sub