Como crear un informe en una sola hoja en access vba

Cordial Saludo

Estimados expertos solicito de su ayuda, estoy creando un informe desde vba access, sin embargo siempre me sale en hojas diferentes los registros, y me gustaria que este informe se mostrara en una sola hoja.

La tabla que uso es la siguiente:

Nombre: Datos Empresa

Campos: razonSocial, Identificacion, Direccion

y el código que uso es el siguiente:

Public Sub CreaInforme(ByVal CantidadCampos As Integer, ByVal cantidad_Registros As Integer)
Dim rptInforme As Report
Dim aControles(0 To 9) As Control
Dim strInforme As String
Dim ctl As Control
Dim lngColor As Long
Dim i As Long
Dim j As Long
Dim k As Long
Dim Valor_Inicial As Long
Dim cantidadRegistros As Integer
Dim altura As Integer

Valor_Inicial = 0

Set rptInforme = CreateReport

DoCmd.Restore

With rptInforme
strInforme = .Name
.RecordSource = "Tbl_DatosEmpresa"
' Dimensiono los elementos del informe _
Encabezado, y pie de página

.Width = 700
.Section(acPageHeader).Height = 200
.Section(acPageFooter).Height = 200
End With


'------------------------------------------------------------
For j = 0 To CantidadCampos
If j <> 0 Then
Valor_Inicial = Valor_Inicial + 2000
Else
Valor_Inicial = Valor_Inicial + 500
End If
Set aControles(j) = CreateReportControl( _
strInforme, _
acLabel, _
acDetail, "", "", _
Valor_Inicial, 400, _
1500, 300)
With aControles(j)
Select Case j
Case 0
.Caption = "RazonSocial"
.Name = "lblRazonSocial"
Case 1
.Caption = "IDENTI"
.Name = "LBLIDENTI"
Case 2
.Caption = "DIRECCION"
.Name = "lbl_DIRECCION"
Case 3
.Caption = "CIUDAD"
.Name = "CIUDAD"
End Select
End With
altura = 0
altura = altura + 500
Set aControles(j) = CreateReportControl( _
strInforme, _
acTextBox, _
acDetail, "", "", _
Valor_Inicial, 800 + altura, _
1500, 300)
With aControles(j)
Select Case j
Case 0
.ControlSource = "razonSocial"
.Name = "txt_Concepto"
Case 1
.ControlSource = "Identificacion"
.Name = "txt_PUC"
Case 2
.ControlSource = "Direccion"
.Name = "txt_Saldo"
Case 3
.ControlSource = "Ciudad"
.Name = "tx_DocFuente" & k
End Select
End With
Next
'-----------------------------------------------------------


lngColor = RGB(128, 0, 0)
For Each ctl In rptInforme.Controls
With ctl
.FontName = "Verdana"
If .ControlType = acTextBox Then
'.FontWeight = eoNegrita
.ForeColor = lngColor
.FontSize = 12
'.TextAlign = eoDerecha
Else
'.FontWeight = eoNormal
.ForeColor = vbBlack
.FontSize = 10
'.TextAlign = eoIzquierda
End If
End With
Next ctl

'Creamos ahora el título del encabezado, con sombra

Set aControles(6) = CreateReportControl( _
strInforme, _
acLabel, _
acPageHeader, _
"", "", _
100, 100, _
6000, 800)
With aControles(6)
.Caption = "Informe Prueba"
.Name = "lblTituloSombra"
.ForeColor = RGB(128, 128, 128)
End With
Set aControles(7) = CreateReportControl( _
strInforme, _
acLabel, _
acPageHeader, _
"", "", _
70, 70, _
6000, 800)
With aControles(7)
.Caption = "Informe Prueba"
.Name = "lblTitulo"
.ForeColor = RGB(0, 0, 128)
End With
For i = 6 To 7
With aControles(i)
.FontName = "Times New Roman"
.FontSize = 24
'.FontWeight = eoGrueso
End With
Next i

Set aControles(8) = CreateReportControl( _
strInforme, _
acLine, _
acPageHeader, _
"", "", _
0, 950, _
8000, 0)
With aControles(8)
.Name = "linEncabezado"
End With
' Muestra el informe
DoCmd.OpenReport strInforme, acViewPreview

End Sub

Añade tu respuesta

Haz clic para o