URGENTE PREGUNTA DE VIDA O MUERTE, Formulas para filtrar reportes de Crystal y VB

Eduar
02 de Enero del 2006
esta pregunta es importante para mi, tengo un proyecto, tengo todos los reportes echos correctamento, el asunto es cuando realizo la llamada desde visual basic 6.0 (Crystal report 8.5) para la conexion uso el codigo que esta abajo, cpon los reportes de fecha no tengo problema lo ago asi: .SelectionFormula = "{Bitacora.fecha}>= #" & Format(Texto.Text)
el asunto es que tengo que hacer un reporte de estudiantes, y seleccionarlo(filtrarlo) una, por fecha (a partir de una fecha introducida en VB), y dos (por nombre de estudiante, igual introducido desde visual basic) ya que el la escuela tine 200 estudiantes no puedo tirar el reporte para 200 tengo que elegir uno y seleccionar la fecha de inicio.
los reportes los tengo separados, una para los 200 y otro para uno solo, ahora, lo tengo asi como sigue, (nota: el codigo con @@@ al inicio son pruebas fallidas par aser una idea de lo que e intentado)

Private Sub CmdReporte_Click()
On Error GoTo equivocado
Dim formula As String
With CrystalReport1
If Texto.Text = "" Then
MsgBox "Verifique la Fecha de inicio del Reporte", vbInformation
Else
If Option1.Value = True Then
.ReportFileName = App.path & "RPEstudiante.rpt" 'este es para todo los estudiantes
.SelectionFormula = "{Bitacora.fecha}>= #" & Format(Texto.Text) & "#"
End If
If Option2.Value = True Then
If Combo1.Text = "" Then
MsgBox "Verifique el Nombre del Estudiante", vbInformation
Else
.ReportFileName = App.path & "RPEstudianteSolo.rpt" 'este es para un estudiante
.SelectionFormula = "{Estudiante.nombre}= '" & Combo1.Text & "'"
(con esta opcion ago el filtrado por nombre de estudiante y funciona bien, el nombre esta en una tabla, Estudiante )
.SelectionFormula = "{Bitacora.fecha}>= #" & Format(Texto.Text) & "#"
(con esta ago el filtrado por fecha, para el mismo reporte, la fecha esta en la tabla Bitacora, dentro de esa hay un campo IDEstudiante que señala a la tabla Estudiante)
(lo que quiero es concatenar ambas opciones para que me permita generar el reporte por estudiante a partir de una fecha especifica)
@@@'.SelectionFormula = "{Bitacora.IDEstudiante}= #" & Format(Text14.Text) & "#" And "{Bitacora.fecha}>= #" & Format(Texto.Text) & "#"
@@@'.SelectionFormula = "{Bitacora.fecha}>= #" & Format(Texto.Text) & "#" And "{Estudiante.nombre}= '" & Combo1.Text & "'"
@@@'.SelectionFormula = "{Estudiante.nombre}= '" & Combo1.Text & "'"
@@@'.SelectionFormula = "{Bitacora.IDEstudiante}= '" & Text14.Text & "'"
(estas opciones las use para intentar filtar mediante el id que esta en Bitacora)
@@@'.SelectionFormula = "{Bitacora.IDEstudiante}= #" & Format(Text14.Text) & "#"

End If
End If
.DiscardSavedData = True
.Action = 1
.ReportFileName = ""
.SelectionFormula = ""
End If
End With
Exit Sub
equivocado:
MsgBox "No se pudo generar el Reporte, Verifique los datos", vbInformation
End Sub

Private Sub Calendar1_Click()
Texto.Text = Calendar1
End Sub

el reporte esta mas o menos asi:
Grup por Nombre Estudiante y por Id de etudiante
Grup Por Nombre Instructor
fecha Avion Bitacora Tiempo Total
dd/mm/yyy XXXXX 001 00112 XXXX
________________________________________________________
Gran Total de tiempo para el Estudiante

ahora porfavor si alquien tenga una idea de como hacer este reporte, o si puede hacer eso desde Crystal.

lo intete creando los Parameter Fild, uno para fecha y uno para nombre pero me aparece en crystal para escojer uno de los dos, no ambos como quiero...

quisiera que me mostrara por ejemplo una ventana para seleccionar el estudiante que deseo, le doy si y aparece otra entonces para escoger la fecha de inicio para ese estudiante...

ok si no es molestia podrian ayudarme gracias

alf2976
02 de Enero del 2006
mostrar dos columnas en un datacombo y una variable fecha como defino su format()

rafa
02 de Enero del 2006
Hola Eduar.
Creo que lo mas sencillo es que generes la sentencia desde el propio diseño del Crystal, usando el asistente para seleccionar registros.
Luego copias esa sentencia, la quitas tb del diseño, y la pegas en el VB.
Ademas te recomiendo usar replaceformula mejor que SelecctionFormula.
Suerte