Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: chegue en 9 Diciembre 2008, 23:31 pm



Título: necesito generar reporte con registros determinados ayuda
Publicado por: chegue en 9 Diciembre 2008, 23:31 pm
tengo un prolema el programa me genera un reporte pero el reporte me muestra todos los registros de la bases de dato, pero solo nececito que por medio de un formulario un txt y un buton en la cual el txt ingrese el numero de cedula y al aceptar me genere el reporte solo con los registros que se encuentran en la base de datos con ese numero de cedula. trabajo con datareport y vb 6.0AYUDA


Título: Re: necesito generar reporte con registros determinados ayuda
Publicado por: ssccaann43 © en 10 Diciembre 2008, 15:14 pm
Ok, para ello puedes hacer un filtro. Creas un query SQL, como por ejemplo. "Select * from Personas Where Cedula=?" y de esa manera lo guardas en el Dataenviroment. Luego desde el visual basic envias el parametro. Sin embargo te recomiendo aprendas a usar Crystal Reports que es la mejor herramienta a usar en cuanto a reportes ya que es muy dinamico y tiene muchas herramientas que simplifican el trabajo. Es cuestión que busques unos libros o manuales.

Reporte Dinamico usando Crystal Reports 8.5 y un Datagrid.
Nota: Debes tener el Crystal Reports 8.5 instalado!
http://www.gigasize.com/get.php?d=99cg7h7fnhd (http://www.gigasize.com/get.php?d=99cg7h7fnhd)

BD Inscripciones SOURCE. Aplicación sencilla donde puedes visualizar el uso del DATAREPORT.
http://www.gigasize.com/get.php?d=fw74lfv34of (http://www.gigasize.com/get.php?d=fw74lfv34of)


Título: Re: necesito generar reporte con registros determinados ayuda
Publicado por: XcryptOR en 10 Diciembre 2008, 18:26 pm
Este es un ejemplo concreto de lo que tienes que hacer, este code es de un proyecto mio pero te puede servir de referencia.

Código
  1. Dim Criteria, StrSQL As String
  2.  
  3.    res = MsgBox("Desea Imprimir La Factura Actual?" & vbCrLf & _
  4.    "Seleccione: Si/No", vbYesNo, "IMPRIMIR")
  5.  
  6.    If res = vbNo Then Exit Sub
  7.  
  8.        Set rsInvoiceItems = New ADODB.Recordset
  9.  
  10.        StrSQL = "SELECT factura.numfac, factura.ciu, factura.dircli, factura.dpt," & _
  11.        "factura.fecfac, factura.fecven, factura.nit, factura.nomcli, factura.pla," & _
  12.        "factura.razsoc, factura.tel, factura.tipcli, factura.valtot, productos_factura.precio," & _
  13.        "productos_factura.canfac, productos_factura.numfac AS Expr1, productos_factura.codpro," & _
  14.        "Producto.nampro, Producto.prepro, productos_factura.subtot, factura.cantot, factura.des," & _
  15.        "factura.fecpropag, factura.percent, factura.tra FROM factura, productos_factura," & _
  16.        "Producto WHERE factura.numfac = productos_factura.numfac AND productos_factura.codpro = Producto.codpro"
  17.  
  18.        ' EN LA VARIABLE StrSQL REALIAMOS LAS CONSULTAS SOBRE LOS REGISTROS MEDIANTE SQL
  19.  
  20.  
  21.        With rsInvoiceItems
  22.  
  23.            Criteria = "numfac='" & Trim(text1.text) & "'" ' EN ESTE CASO LO QUE VOY A CONSULTAR SON LOS DATOS DE UNA FACTURA
  24.                                                           ' HAGO LA BUSQUEDA DEL ID: NUMFAC
  25.            .Open StrSQL, ActiveConnection:=DE.CnPanamericana, _
  26.            CursorType:=adOpenKeyset, LockType:=adLockOptimistic
  27.  
  28.            ' DE es el objeto DataEnvironment y CnPanamericana es la conxion a la base de datos
  29.  
  30.            .Filter = Criteria
  31.  
  32.  
  33.            If .EOF Then
  34.                MsgBox "No Existe El registro", _
  35.                vbInformation, "No se encontró el dato"
  36.                .Close
  37.  
  38.            Else
  39.                DATAREPORT1.DataMember = rsInvoiceItems
  40.                DATAREPORT1.PrintReport
  41.                Unload DATAREPORT1
  42.                .Close
  43.            End If
  44.  
  45.    End With
  46.  
  47.  



Título: Re: necesito generar reporte con registros determinados ayuda
Publicado por: cassiani en 10 Diciembre 2008, 18:41 pm
tengo un prolema el programa me genera un reporte pero el reporte me muestra todos los registros de la bases de dato, pero solo nececito que por medio de un formulario un txt y un buton en la cual el txt ingrese el numero de cedula y al aceptar me genere el reporte solo con los registros que se encuentran en la base de datos con ese numero de cedula. trabajo con datareport y vb 6.0AYUDA

A mi parecer, lo que haces mal es el filtro a la hora de hacer la consulta o quizás simplemente no lo estas haciendo y como no colocas ningún ejemplo :-\

recuerda incluir la cláusula WHERE en tus consultas, por ejmplo:
Citar
WHERE Cedula = '80457894'

cabe señalar, que en una consulta de este tipo solo deberias obtener un registro, ya que solo una persona en la db contaría con ese número de cédula (es el deber ser). Por esa razón muchas personas deciden usar ese campo como PK y de esa manera evitar duplicados y no depender de validaciones externas.

saludos!


Título: Re: necesito generar reporte con registros determinados ayuda
Publicado por: chegue en 11 Diciembre 2008, 07:09 am
ese es el prolema amigos a la hora de hacer el filtro nose como se hace al igual que una consulta yo lo unico que necesito es que el reporte que se me genera solo muestre por medio de su cedula todas las veces que a sido registrado

es un programa sencillo en este caso la cedula no es sin duplicados todo lo contrario es con duplicado, lo que si no se duplica es el nº de registro.

yo lo que quiero es que al ingresar el numero de cedula me parescan todos los registros que se encuentran en la bases de datos con ese numero de cedula eso es lo que quiero,
pero me aparecen todos y no los quiero todos me dicen que por una consulta. no se como se aplica en realidad   y gracias por ayudarme con sus repuestas soy un poco nuevo en esto dela programacion ok disculpen.....


Título: Re: Gracias panitas soluciones el prolema del reporte muchas gracias
Publicado por: chegue en 13 Diciembre 2008, 20:14 pm
gracias cassiany y a todos prebe todos lo ejemplos que me enviaron hasta que logre el resultado se los agradezco me salvaron.....