• Lunes 29 de Abril de 2024, 04:34

Autor Tema:  Modificar Sentencia Sql En Comando  (Leído 3774 veces)

MeLaT

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Modificar Sentencia Sql En Comando
« en: Miércoles 27 de Junio de 2007, 01:10 »
0
En Crystal Reports tengo un comando que tiene como sentencia SQL

Código: Text
  1. SELECT *
  2. FROM DATOS
  3. WHERE (FECHA BETWEEN #29/04/2007# AND #30/04/2007#)
  4.  

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:

Código: Text
  1. SELECT *
  2. FROM DATOS
  3.  

En el progama que tengo en VB, en la parte de código del reporte CrystalReport1.Dsr:

Código: Text
  1. Private Sub Report_Initialize()
  2. CrystalReport1.SQLQueryString = CrystalReport1.SQLQueryString & " WHERE (FECHA BETWEEN #" & DATE1 & "# AND #" & DATE2 & "#)"
  3.  
  4. 'CrystalReport1.SQLQueryString = CrystalReport1.SQLQueryString & " WHERE FECHA BETWEEN '" & DATE1 & "' AND '" & DATE2 & "'"
  5.  
  6. End Sub
  7.  

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  :o , a alguien le a pasado  :huh: . 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:

Código: Text
  1. Private Sub DataEnvironment_Initialize()
  2.     Me.Commands(1).CommandType = adCmdText
  3.     Me.Commands(1).CommandText = "SELECT * FROM TABLA1, TABLA2 WHERE (TABLA1.LETRA=TABLA2.LETRA) AND TABLA1.LETRA = " & VSLETRA
  4. End Sub
  5.  

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.
Información no compartida es información desperdiciada". Bueno, eso digo yo. - , les recordé.