Visual Basic - Sobre filtro de fechas desde visual Basic

Life is soft - evento anual de software empresarial
   
Vista:

Sobre filtro de fechas desde visual Basic

Publicado por Josbel Gonzalez (32 intervenciones) el 20/02/2009 17:13:56
Buenas a todos nuevamente, antes que nada gracias por tomar su tiempo para leer esta consulta, hace nada consulte aserca de filtrar las fechas en un formulario hacia un dbgrid sin problemas logre filtrarlo, y hsta indagando consegui una rutina para pasarlo a una hoja de excel, gracias a todos por la ayuda que me rpestaron, claro esta la mejor recomendacion que me dieron fue que dicho rpeorte de registros pues lo elaborar en crystal report y sencillamente lo relacionara con la tabla en cuestion y su aplicacion, de verdad fue muy sencillo realizarlo tal como me comentaron tambien por este medio, que sucede cuando llamo al reporte ya diseñado en crystal reports, por cierto la version 9, eset efectivamente me muestra todos los registros que se encuentren en la tabla, que sucede yo deberia o emjor dicho lo ideal seria filtrar dichos registros segun el parametro de dos fechas por ejemplo con el fomrmulario que me lo muestra por pantalla en un db grdi use esto:

If DESDE.Text = "" Then
ERROR20
End If
If HASTA.Text = "" Then
ERROR21

Else

fecha1 = DESDE.Text
fecha2 = HASTA.Text

Data1.RecordSource = "Select * From casocerrado Where FECHADECIERRE Between #" & fecha1 & "# And #" & fecha2 & "#;"
Data1.Refresh

End If

End Sub

de esta forma al darle click al boton sencillamente me filtra el db grid con los parametro que se encuentran en las cajas de texto, en este caso fechas.

el codigo del crystal reports el cual lo genero el mismo es este:

Dim Report As New CrystalReport1

Private Sub Form_Load()

Screen.MousePointer = vbHourglass
CRViewer91.ReportSource = Report
CRViewer91.ViewReport
Screen.MousePointer = vbDefault

End Sub

Private Sub Form_Resize()
CRViewer91.Top = 0
CRViewer91.Left = 0
CRViewer91.Height = ScaleHeight
CRViewer91.Width = ScaleWidth

End Sub

entiendo que este codigo llama al reporte y le asigna la propiedad de busqueda de los registros de la tabla vinculada, chevere pero cuando intente filtrar los datos con la misma sentencia sql o bien dandole otro tipo de sentencias pues nada no me filtraba y en ocasiones me generaba errores de sintaxis logicamente por usar propiedades no validas, de verdad en lo que me puedan ayudar les estare muy agradecido y aprovechando la oportunidad gracias a las personas que e aydaron en el tema anterior ojala sirva de guia a otros, gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Es un poco diferente en Crystal R.

Publicado por Yo (49 intervenciones) el 20/02/2009 17:56:09
La propiedad para hacer un filtro es SelectionFormula. Pero al tratarse de fechas debes usar una función de Crystal Reports que se llama Date( , , ) y debes enviarle el año, el mes y el día separados por comas. A esta propiedad se le envía un valor del tipo String.
Vamos a suponer que las fechas las tienes en dos Textboxes llamados Fecha1 y Fecha2 (según veo en la sentencia que usas). Lo mejor será dejar en una variable String el filtro:

stFiltro = "{casocerrado.FechaDeCierre} >= Date(" & Year(Fecha1.Text) & "," & Month(Fecha1.Text) & "," & Day(Fecha1.Text) & ")" & _
" and {casocerrado.FechaDeCierre}<= Date(" & Year(Fecha2.Text) & "," & Month(Fecha2.Text) & "," & Day(Fecha2.Text) & ")"

Luego lo asignas a la propiedad mencionada:
CRViewer91.SelectionFormula = stFiltro
Y ejectutas el reporte:
CRViewer91.Action = 1

(Espero no haberme equivocado al abrir y cerrar comillas al formar el string para la variable "stFiltro")

P. D. Yo uso la versión que te comenté anteriormente, la 4.6 y así me funciona bien.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar