Ver Mensaje Individual
  #19 (permalink)  
Antiguo 15/05/2008, 12:14
Avellaneda
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 17 años, 3 meses
Puntos: 37
Re: generar reporte en word

No analoyra, es que el encabezado de página es la "Sección2", la "Sección1" es la de detalle.

Mira, te pongo un sencillo ejemplo comentado, para que lo adaptes a tus necesidades (en el diseño del DataReport todos los campos Texto y Etiqueta están vaciós)


Código:
Private Sub Command1_Click()
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
With rs
    .ActiveConnection = "Provider=Microsoft.jet.OLEDB.4.0;Data Source=" & _
            App.Path & "\Ventas.mdb"
    .CursorType = adOpenStatic
    .CursorLocation = adUseClient
    .Open "Select * from Facturas"
End With
With DataReport1
    With .Sections("Sección1").Controls
        ' sección "detalle" = Artículos de la factura
        .Item("Texto1").DataField = rs("Articulo").Name
        .Item("Texto2").DataField = rs("Descripción").Name
        .Item("Texto3").DataField = rs("Importe").Name
        ' ... etc
    End With
    With .Sections("Sección2").Controls
        ' sección "encabezado de página"
        ' Nota: aquí normalmente irían una serie de etiquetas con los
        ' datos del cliente, que se pueden obtener del mismo o de otro recordset.
        ' (aplica lo que te puse en el post anterior)
        .Item("Etiqueta1").Caption = "Nombre Cliente"
        .Item("Etiqueta2").Caption = "Dirección"
    End With
    Dim sPath As String
    sPath = App.Path & "\MiLogo.jpg"
    With .Sections("Sección4")
        ' sección "encabezado de informe", le ponemos nuestro Logo
        Set .Controls("Image1").Picture = LoadPicture(sPath)
    End With
    With .Sections("Sección5").Controls
        ' sección "pié de informe", ponemos la suma total del campo "Importe"
        ' Nota: La propiedad FunctionType de "Función1" es rptFuncSum
        .Item("Función1").DataField = rs("Importe").Name
    End With
End With
Set DataReport1.DataSource = rs
DataReport1.Show
End Sub
Espero que te sirva de orientación, si tienes alguna duda indícalo.



Nota: Ahora me tengo que ausentar por unas horas.