Visual Basic.NET - Error en codigo

 
Vista:

Error en codigo

Publicado por Jose (2 intervenciones) el 05/08/2009 01:47:08
Hola a todos tengo el sig. codigo en un boton

Dim Fd As DateTime = DateTimePicker_d.Value.ToShortDateString
Dim Fh As DateTime = DateTimePicker_h.Value.ToShortDateString

ListaOperaciones.OperacionesBindingSource.Filter = "Fecha >= '" & Fd.ToString("MM/dd/yyyy") & "' And Fecha <= '" & Fh.ToString("MM/dd/yyyy") & "'"

Lo que logro con esto es filtrar el DataGridView por un rango de fechas ingresadas en los DataTimePicker, el problema que tengo es que me filtra unicamente por el día.
Alguien me podría pasar el codigo correcto.

Muchas 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

RE:Error en codigo

Publicado por Damian (824 intervenciones) el 05/08/2009 15:02:56
El mio esta realizado para SQL, quizas te sirva. Quizas deberias poner Convert.ToDateTime(DateTimePicker_d.Value).

Dim fDesde, fHasta As DateTime

fDesde = Convert.ToDateTime(mkDesdVend.Text)
fHasta = Convert.ToDateTime(mkHastVend.Text)

SQL = "Select Apellido+','+Nombre,sum(F.TotalFact) From Facturacion F,Empleados E where F.FechaHora " _
& "Between '" & fDesde.ToString("s") & "' and '" & fHasta.ToString("s") & "' and " _
& "E.CodEmp=F.CodEmp and (F.Comprobante='FA' or F.Comprobante='ND') " _
& " group by Apellido+','+Nombre order by 2 desc,1"
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

RE:Error en codigo

Publicado por Jose (2 intervenciones) el 06/08/2009 01:38:00
Hola Damian antes que nada gracias por tu ayuda, te comento que le agregue el Convert como me dijiste y si me filtra por dia, mes y año como necesitaba pero ahora surgio otro problema, te doy un ejemplo, en la base tengo un registro con fecha 08/07/2009 y otro registro con fecha 11/07/2009, ahora yo coloco en los DataTimer lo sig. en el desde pongo 01/07/2009 y en el Hasta 31/07/2009, lo logico seria que me muestre los dos registros, bueno no me pone nada pero si pongo el rango de fechas con el mismo valor de la fechas si me lo muestra, es decir si pongo el rango entre 08/07/2009 y el 11/07/2009 me muestra los dos registros, es decir que me esta filtrando unicamente por el valor real de las fechas, no se si me explico, no por un rango determinado, que sera porque dentro del rango no tengo en la base esas fechas o bien tengo mal el codigo, te lo paso de nuevo. Muchas gracias

Dim Fd As DateTime
Dim Fh As DateTime

Fd = Convert.ToDateTime(Me.DateTimePicker_d.Value)
Fh = Convert.ToDateTime(Me.DateTimePicker_h.Value)

ListaOperaciones.OperacionesBindingSource.Filter = "Fecha >= '" & Fd.ToString("MM/dd/yyyy") & "' And Fecha <= '" & Fh.ToString("MM/dd/yyyy") & "'"
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

RE:Error en codigo

Publicado por Damian (49 intervenciones) el 06/08/2009 03:57:31
Que BD utilizas?, si usas SQL en la busqueda por fechas en Fd.ToString("MM/dd/yyyy") cambia eso por Fd.ToString("s") y lo mismo en fh.
Esto te buscar solo por fechas, pero todo depende que Base de Datos estes utilizando y que version e idioma.
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

RE:Error en codigo

Publicado por Jose (1 intervención) el 07/08/2009 01:23:06
Hola Damián, gracias de nuevo, te comento que cambie por Fd.ToString("s") y ahora directamente no me filtra nada, la BD es con SQL (es local) con visual studio 2008, si te sirve de algo te paso este dato, para que la columna Fecha me muestre la fecha de esta manera ej. 06/08/2009 en el format de la edicion de la columna tuve que poner "MM/dd/yyyy". Si tenes la solucion te agradeceria que me pases el codigo.

Saludos y gracias de nuevo.
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

RE:Error en codigo

Publicado por Damian (824 intervenciones) el 07/08/2009 14:49:35
Cambia el formato ("MM/dd/yyyy") por ("dd/MM/yyyy").
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

RE:Error en codigo

Publicado por Jose (1 intervención) el 07/08/2009 15:23:47
Hola Damian, pero si cambio el formato en la edicion de la columna despues la presentacion de la columna me muestra las fechas de esta manera ej. 08/07/2009, es decir primero el mes y despues el día, o vos decis que cambie en la linea de codigo donde hago el filtro?, Gracias de nuevo
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

RE:Error en codigo

Publicado por Damian (824 intervenciones) el 07/08/2009 17:11:49
claro solo en la consulta, no cuando lo muestras.
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

RE:Error en codigo

Publicado por Jose (1 intervención) el 07/08/2009 17:52:40
O sea que vos me decis que en la linea de codigo del filtro ponga lo sig. Fd.ToString("dd/MM/yyyy") ?
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