Hola a todos
Tengo un problema con un report que hice con crystal. Antes de nada trabajop
con vb 6.0, Sp 5, Crystal report 8.0, access 2000.
El report lo hago con el diseñador. Pero en tiempo de ejecución le doy los
parametros que quieren que salgan pero en el report me salen todos los
registros.
el codigo es el siguiente:
Option Explicit
Private cn As ADODB.Connection
Private rs As ADODB.Recordset
Dim Report As New CrystalReport2 'este es el diseñador
Private Sub Form_Load()
'Screen.MousePointer = vbHourglass
Dim a As String
Dim csql As String
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
modINI.RutaArchivoINI = App.Path & "\Aplicacion.ini"
a = modINI.strLeerClaveString("personal", "RutaBD")
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "data source=" & a & ";user id=admin"
.CursorLocation = adUseClient
.Open
End With
'categorias
If frmbuscar.op1.Value = True Then
csql = "SELECT personal.nif, nombre, apellido1, apellido2, provincia,
telefono, movil FROM personal INNER JOIN catespax ON (personal.nif catespax.dni) WHERE (cate = '" + frmbuscar.cbocate.Text + "') or (cate1 = '"
+ frmbuscar.cbocate.Text + "') or (cate2 = '" + frmbuscar.cbocate.Text + "')
or (catede = '" + frmbuscar.cbocate.Text + "')"
End If
'categorias, provincia
If frmbuscar.op1.Value = True And frmbuscar.op12.Value = True Then
csql = "SELECT personal.nif, nombre, apellido1, apellido2, provincia,
telefono, movil FROM personal INNER JOIN catespax ON (personal.nif catespax.dni) WHERE (((cate = '" + frmbuscar.cbocate.Text + "') or (cate1 '" + frmbuscar.cbocate.Text + "') or (cate2 = '" + frmbuscar.cbocate.Text +
"') or (catede = '" + frmbuscar.cbocate.Text + "')) AND (provincia = '" +
frmbuscar.cboProv.Text + "')) "
End If
rs.Open csql, cn, adOpenForwardOnly, adLockReadOnly
Report.DiscardSavedData
Report.Database.SetDataSource rs
CRViewer1.ReportSource = Report
CRViewer1.ViewReport
Screen.MousePointer = vbDefault
End Sub
Private Sub Form_Resize()
CRViewer1.Top = 0
CRViewer1.Left = 0
CRViewer1.Height = ScaleHeight
CRViewer1.Width = ScaleWidth
End Sub.
Cuando lo ejecuto me saca todos los registros que tiene la tabla, pero por
ejemplo si lo pongo en un proyecto nuevo funciona perfectamente. ¿Alguien
sabe por que???
¿Como lo puedo solucionar???
Muchas gracias
P.D. Me corre un poco de prisa
Muchisimas garcias.
Jose Mª Cousiño Goicolea
Leer las respuestas