https://foro.gambas-es.org/viewtopic.php?f=1&t=1770
-----------------------------------
hertux
Lunes, 01 Agosto 2011, 17:57

Componente Para Generar Reportes Gambas3
-----------------------------------
Saludos a todos, solicito ayuda, estoy desarrollando un programa de control de pagos y logro generar los resportes desde el codigo, pero tengo un reporte que al generar desde el codigo no me lo pone ordenado y se mira antiestetico, y cuando logro hacerlo con labelreport graficamente se mira bien pero entonces no me muestra todos los resultados, me muestra solo un registro pero si la cantidad de registros que hay, por ejemplo si hay tres usuarios creados me muestra el nombre del primero tres veces. Dejo el codigo por si alguien me ayuda. Gracias.


[code linenumbers=false syntax=gambas]
Private cx As Connection
Private rs As Result
Private Listado As New Collection[]

Public Sub _new()

Dim Linea As ReportLabel
Dim i As Integer
   
cx = ModDB.conectar()
rs = cx.Exec("SELECT * FROM tbusuarios where usuario LIKE '" & (frmusuarios.txtusuario.Text) & "'")

For Each rs
Linea = New ReportLabel(RVBCont)
	   
	'aqui muestra los resultados en el reporte pero si el usuario en margar y se llama Mario Garcia y el otro es lintux y su nombre es
	'Linux Tux Software Libre a la hora de mostrar si es supervisor me lo muestra no en orden (parejo, fijo) si no todo corrido.
    
	Linea.Text = rs!usuario & " " & rs!nombre_completo & " " & rs!supervisor

ReportLabel1.Text = rs!usuario 
ReportLabel2.Text = rs!nombre_completo 
ReportLabel3.Text = rs!supervisor 

Next    

ReportLabel4.Text = Date
[/code]

 [img]http://foro.gambas-es.org/files/images/1291/imagen_2.png[/img] 

Y aqui pongo el otro codigo donde quiero mostrar los datos pero aqui es por modio de un labelreport grafico ya que de esta forma si sale ordenadamente pero no logro  hacerlos.

[code linenumbers=false syntax=gambas]

Private cx As Connection
Private rs As Result
Private Listado As New Collection[]

Public Sub _new()

Dim Linea As ReportLabel
Dim i As Integer
   
cx = ModDB.conectar()

rs = cx.Exec("SELECT * FROM tbusuarios where usuario LIKE '" & (frmusuarios.txtusuario.Text) & "'")
 
  For i = 0 To rs.Count - 1
		   
	'aqui muestra los resultados en el reporte ya sea del primero pero no me muestra los 3 usuarios que existen solo
	'Mario Garcia
	'Mario Garcia
	'Mario Garcia 
	'y Linux Tux Software Libre no lo muestra y asi hubieran 10 solo muestra 10 veces Mario Garcia.

	ReportLabel1.Text = rs!usuario 
	ReportLabel2.Text = rs!nombre_completo 
	ReportLabel3.Text = rs!supervisor 



  rs.MoveFirst
   Next

ReportHBox1.Data = rs
ReportLabel4.Text = Date

[/code]

 [img]http://foro.gambas-es.org/files/images/1291/imagen_1.png[/img] 

Si alguien me ayuda se los voy agradecer, o si necesitan el codigo fuente lo puedo subir.


-----------------------------------
jguardon
Lunes, 01 Agosto 2011, 19:00

Re: Componente Para Generar Reportes Gambas3
-----------------------------------
Nunca he usado los reportes en Gambas3, pero a primera vista parece que necesitas crear un reportlabel para cada registro obtenido de la base de datos. Quizás tengas que hacerlo dentro del bucle 'For'. Yo sin embargo prefiero usar un bucle 'While' preguntando al objeto Result si hay datos disponibles:

[code linenumbers=false syntax=gambas]While rs.Available

...

Wend[/code]

Por otra parte, si necesitas ordenar los resultados, puedes usar la cláusula 'ORDER BY' de sql.

Disculpa si no soy más concreto, pero es que desconozco la forma de trabajar con reportes en gambas 3.

Saludos


-----------------------------------
hertux
Lunes, 01 Agosto 2011, 20:15

Re: Componente Para Generar Reportes Gambas3
-----------------------------------
Gracias JGuardon por contestar, lo hice de la forma que me sugeriste y no me funsiono, y cuando hablaba de ordenar no hablaba de ordenar el listado si no de ordenar el resporte que se me parejo, con forma, estetico.
Utilice FOR, WHILE, DO WHILE y no me funsiona, y con respecto a los reportlabel, tngo un reporte por cada uno de los campos pero es de forma desendente y asi si me funsiona pero de la forma que necesito el reporte no me funsiona por no se estetico aunque los campos si los muestra, y cuando los pongo graficamente tngo el problema que  solo me muestra n registros del mismo.


