Visual Basic Foro
Programación => Bases de Datos => Mensaje iniciado por: E N T E R en Abril 10, 2014, 01:20:50 pm
-
Hola estoy empezando con Crystal, tengo una tabla clientes donde hago el reporte con Crystal. Lo que no puedo es hacer para que me filtre segun una condicion.
Tabla Clientes (SCREEN)
(http://snag.gy/52z3F.jpg)
Link: http://snag.gy/52z3F.jpg (http://snag.gy/52z3F.jpg)
Este es el Reporte en el Crystal Report. (SCREEN)
(http://snag.gy/LYF6a.jpg)
Link: http://snag.gy/LYF6a.jpg (http://snag.gy/LYF6a.jpg)
Este es mi codigo en el VB6
Private Sub Command1_Click()
Dim crAPP As New CRAXDRT.Application
Dim Report As CRAXDRT.Report
Set Report = crAPP.OpenReport(App.Path & "\ejem_reporte.rpt")
CRViewer1.ReportSource = Report
CRViewer1.ViewReport
CRViewer1.Zoom 100
CRViewer1.PrintReport
Set Report = Nothing
Set crAPP = Nothing
End Sub
Como ven ahi en la tabla CLIENTES tengo un campo [TIPO], desde el VB6 quiero enviar una consulta a la tabla clientes.
SELECT * FROM clientes WHERE tipo="dos"
Y que solo ese filtro me lo muestre en el Crystal Report.
-
En ese caso debes crear un parametro que recibe crystal al momento de llamarlo desde vb.
Creas el parametro y luego asocias dicho parametro al campo de la tabla para que al pasarlo, el crystal reports te filtre los registros.
Eso es todo.
Saludos
-
Para asignar el resultado de un recordet a un reporte de crystal yo hago asi:
rsPrincipal.Open "SELECT * FROM CLIENTES WHERE IDCLIENTE='103'", mConexion, adOpenStatic, adLockReadOnly, adCmdText
vReporte.Database.SetDataSource rsPrincipal, , 1
crVisorReporte.ReportSource = vReporte
crVisorReporte.Zoom 100
crVisorReporte.ViewReport
saludos.