Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => 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 (vb) [Seleccionar]

Dim Criteria, StrSQL As String
   
    res = MsgBox("Desea Imprimir La Factura Actual?" & vbCrLf & _
    "Seleccione: Si/No", vbYesNo, "IMPRIMIR")

    If res = vbNo Then Exit Sub
       
        Set rsInvoiceItems = New ADODB.Recordset
       
        StrSQL = "SELECT factura.numfac, factura.ciu, factura.dircli, factura.dpt," & _
        "factura.fecfac, factura.fecven, factura.nit, factura.nomcli, factura.pla," & _
        "factura.razsoc, factura.tel, factura.tipcli, factura.valtot, productos_factura.precio," & _
        "productos_factura.canfac, productos_factura.numfac AS Expr1, productos_factura.codpro," & _
        "Producto.nampro, Producto.prepro, productos_factura.subtot, factura.cantot, factura.des," & _
        "factura.fecpropag, factura.percent, factura.tra FROM factura, productos_factura," & _
        "Producto WHERE factura.numfac = productos_factura.numfac AND productos_factura.codpro = Producto.codpro"
       
        ' EN LA VARIABLE StrSQL REALIAMOS LAS CONSULTAS SOBRE LOS REGISTROS MEDIANTE SQL
       
       
        With rsInvoiceItems

            Criteria = "numfac='" & Trim(text1.text) & "'" ' EN ESTE CASO LO QUE VOY A CONSULTAR SON LOS DATOS DE UNA FACTURA
                                                           ' HAGO LA BUSQUEDA DEL ID: NUMFAC
            .Open StrSQL, ActiveConnection:=DE.CnPanamericana, _
            CursorType:=adOpenKeyset, LockType:=adLockOptimistic

            ' DE es el objeto DataEnvironment y CnPanamericana es la conxion a la base de datos

            .Filter = Criteria

   
            If .EOF Then
                MsgBox "No Existe El registro", _
                vbInformation, "No se encontró el dato"
                .Close
   
            Else
                DATAREPORT1.DataMember = rsInvoiceItems
                DATAREPORT1.PrintReport
                Unload DATAREPORT1
                .Close
            End If

    End With



Título: Re: necesito generar reporte con registros determinados ayuda
Publicado por: cassiani en 10 Diciembre 2008, 18:41 PM
Cita de: 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

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:
CitarWHERE 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.....