Codifiquemos el reporte

Había quedado pendiente a codificación del reporte. Vamos a pasarle la variable valor de Fgastos para que lance el reporte elegido usando el mismo código para todos los reportes, sea por local, por material o por fecha. Voy a subir todo el código y luego comentaré lo más relevante.

Private hRes1 As Result
Private hConn As Connection

Private Function ConectarBase() As Boolean

If hconn <> Null Then Return False

hconn = New Connection
hconn.Host = User.Home &/ “.stock”
hconn.name = “stock”
hconn.type = “sqlite3”
Try hconn.Open()
If Error Then
hconn = Null
Message.Error(“error al conectar con la base”)
Return True
Endif
Return False

End

Public Sub _new()

Dim ReportHBox1 As ReportHBox
Dim ReportVBox1 As ReportVBox
Dim lbfecha, lbagencia, lbmaterial, lbcantidad As ReportLabel
Dim valor As String

valor = Fgastos.valor
Print valor
If hconn = Null Then
ConectarBase()

Else
End If
ReportVBox1 = New ReportVBox(Me)
ReportVBox1.Expand = True

ReportHBox1 = New ReportHBox(ReportVBox1)
ReportHBox1.Height = “8mm”
lbfecha = New ReportLabel(ReportHBox1) As “lbfecha”
lbfecha.Width = “25mm”
lbfecha.Alignment = Align.Center
lbagencia = New ReportLabel(ReportHBox1) As “lbagencia”
lbagencia.Expand = True
lbagencia.Alignment = Align.Center
lbmaterial = New ReportLabel(ReportHBox1) As “lbmaterial”
lbmaterial.Expand = True
lbmaterial.Alignment = Align.Center
lbcantidad = New ReportLabel(ReportHBox1) As “lbcantidad”
lbcantidad.Expand = True
lbcantidad.Alignment = Align.Center

hRes1 = hconn.Exec(valor)

ReportHBox1.DataCount = hRes1.Count

End

Public Sub lbfecha_Data(Index As Integer)

hRes1.MoveTo(Index)
Last.data = hRes1!fecha

End

Public Sub lbagencia_Data(Index As Integer)

hRes1.MoveTo(Index)
Last.data = hRes1!local

End

Public Sub lbmaterial_Data(Index As Integer)

hRes1.MoveTo(Index)
Last.data = hRes1!material

End

Public Sub lbcantidad_Data(Index As Integer)

hRes1.MoveTo(Index)
Last.data = hRes1!cantidad

End

Primero debemos declarar y crear la conexión, ya que la del módulo, por alguna razón que desconozco, no funciona con el reporte. Para ello declaramos las variables al principio del formulario y creamos la conexión como siempre. Luego en el evento new del reporte declaramos las variables locales, nos conectamos y traemos los datos. Luego los recorremos mediante el evento data de losa distintos label. Esto ya lo hemos hecho varias veces en proyectos anteriores, no voy a repetir toda la explicación de vuelta. Si os quedan dudas podéis usar el buscador del blog para encontrar los artículos anteriores.

Anuncios
Esta entrada fue publicada en programación y etiquetada , , . Guarda el enlace permanente.

4 respuestas a Codifiquemos el reporte

  1. omoreno dijo:

    Bueno, el ejemplo. Una pregunta: como se haria para crear agrupamientos por alguna columna, por ejemplo el lugar y que esta pueda aparecer en el encabezado y tambien controlar salto de pagina cuando cambie el valor de la columna de agrupamiento?
    Gracias.

    • dapeca2608 dijo:

      Como verás por las fechas de los últimos post, casi no estoy haciendo nada de programación. Te recomiendo que envíes las consultas al foro de gambas-es, ahí podrán ayudarte mejor. Saludos

      • pablo dijo:

        esta muy bueno tu informacion… eh hecho todo los datos… lo malo es que cuando preciono el boton imprimir NO funciona pero cuando lo arrnago desde el mismo reporte si me muetrsa los datos.. que extraño!

  2. dapeca2608 dijo:

    Como verás por las fechas de los últimos post, casi no estoy haciendo nada de programación. Te recomiendo que envíes las consultas al foro de gambas-es, ahí podrán ayudarte mejor. Saludos

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s