En Crystal Reports tengo un comando que tiene como sentencia SQL
SELECT *
FROM DATOS
WHERE (FECHA BETWEEN #29/04/2007# AND #30/04/2007#)
Y me despliega todos los registros entre esas fechas. Pero quisiera que esas dos fechas provengan de VB 6.0. Lo que hice fue dejar la sentencia SQL en Crystal Reports como:
En el progama que tengo en VB, en la parte de código del reporte CrystalReport1.Dsr:
Private Sub Report_Initialize()
CrystalReport1.SQLQueryString = CrystalReport1.SQLQueryString & " WHERE (FECHA BETWEEN #" & DATE1 & "# AND #" & DATE2 & "#)"
'CrystalReport1.SQLQueryString = CrystalReport1.SQLQueryString & " WHERE FECHA BETWEEN '" & DATE1 & "' AND '" & DATE2 & "'"
End Sub
Pero el reporte aparece como si lo estubiera abriendo con la misma sentencia que tiene el comando en el Crystal Report, no modifica la sentencia, la lee pero no la cambia.
Algún comentario
, a alguien le a pasado
. O alguna manera de pasar esas variabes (DATE1 y DATE2) al reporte en Crystal Report. Esto lo he hecho con los reportes normales de visual y lo que hago es poner esto en el código del DataEnvironment:
Private Sub DataEnvironment_Initialize()
Me.Commands(1).CommandType = adCmdText
Me.Commands(1).CommandText = "SELECT * FROM TABLA1, TABLA2 WHERE (TABLA1.LETRA=TABLA2.LETRA) AND TABLA1.LETRA = " & VSLETRA
End Sub
Lo que hace en esa sentencia es que en la TABLA1 y TABLA2 busca el mismo registro del campo LETRA, ese registro es la variable que se obtiene de un form, la variable es VSLETRA.