Visual Basic.NET - Consulta entre Rango de fechas

   
Vista:

Consulta entre Rango de fechas

Publicado por ELI (62 intervenciones) el 26/12/2014 18:56:03
Buenos días a todos

como ya saben programo en vb.net

Este código de esta consulta funciona perfecto.

1
consulta=("SELECT SUM(monto)  FROM Tbla_Factura WHERE estatus =" & "'ACEPTADA'" & "")

pero si le agrego otro criterio de búsqueda (Rango de fechas) da error y no funciona, el código es:

1
consulta=("SELECT SUM(monto)  FROM Tbla_Factura WHERE estatus =" & "'ACEPTADA'" & " and fecha_registro BETWEEN " & Me.DateTimePickerDesde.Text & "' AND " & Me.DateTimePickerHasta.Text & "'")

Espero en Dios que puedan ayudarme.
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
Imágen de perfil de giancarlo

Consulta entre Rango de fechas

Publicado por giancarlo giangbd5@hotmail.com (280 intervenciones) el 26/12/2014 22:29:07
Primero, seria bueno que leas esta pagina y el ultimo link de la pagina http://www.lawebdelprogramador.com/foros/Visual-Basic.NET/1475781-insertar-una-fecha-por-medio-de-instruccion-sql.html.

Resumiendo un poco(aunque claro, deberias leer) ¿por que sale error?
--el formato de datatimepicker.text es incorrecto
--el formato de fecha son diefrentes: en la BD es DDMMYYYY tu texto MMDDYYYY

¿que hacer?
-leer los link
-convierte tu datatimepicker a un strig con formato YYYYMMDD y al hacer tu comando, usas convert, prueba con convert(varchar(10),fechaYYYYMMDD,112), en SQL es ese comando
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

Consulta entre Rango de fechas

Publicado por ELI (62 intervenciones) el 26/12/2014 22:58:34
Gracias por contestar.

disculpa mi ignorancia, pero si no es mucha molestia puedes plantear el codigo en el ejemplo.

Mi base de datos es de Microsoft Office Access 2007 y el tipo de datos de la fecha es: Texto, en la tabla Factura la fecha se guarda así: 29/09/2014, es decir DDMMYYYY.

por favor poner el código en la consulta de ejemplo:

Bendiciones para ti. Gracias.
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
Imágen de perfil de giancarlo

Consulta entre Rango de fechas

Publicado por giancarlo giangbd5@hotmail.com (280 intervenciones) el 26/12/2014 23:07:16
el convert, es solo un formato en el que vas a grabar la fecha, independiente del formato en tu BD.

1
2
3
4
5
function convertiFecha(fecha as date) as string
return fecha.year & fecha.month.toString.padleft(2,"0") & fecha.day.toString.padleft(2,"0")
end function
 
consulta=("SELECT SUM(monto)  FROM Tbla_Factura WHERE estatus =" & "'ACEPTADA'" & " and convert(date,fecha_registro,112) BETWEEN " & convertirFecha(Me.DateTimePickerDesde.value) & "' AND " & convertirFecha(Me.DateTimePickerHasta.value) & "'")
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

Consulta entre Rango de fechas

Publicado por ELI (62 intervenciones) el 27/12/2014 00:37:55
Lamentablemente todavía no funciona,

gracias...
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

Consulta entre Rango de fechas

Publicado por ELI (62 intervenciones) el 27/12/2014 02:31:55
Lo curioso es que si pongo el codio asi, si funciona, excelente,

1
Consulta= ("SELECT Count(*) FROM Tbla_Factura WHERE estatus =" & "'ACEPTADA'" & " and fecha_registro BETWEEN ('26/12/2014') AND ('26/12/2014')")


pero si pongo el código como debería ir, no da error, pero en la consulta sale 0

1
2
3
4
5
6
7
8
Dim Fechini As Date
        Dim Fechfin As Date
 
        Fechini = Format(DateTimePickerDesde.Value, "dd/MM/yyyy")
        Fechfin = Format(DateTimePickerHasta.Value, "dd/MM/yyyy")
 
 
        Consulta= ("SELECT Count(*) FROM Tbla_Factura WHERE estatus =" & "'ACEPTADA'" & " and fecha_registro BETWEEN ('Fechini') AND ('Fechfin')")

Me siento un poco depresiva, por favor ayudenme, estoy cansada de tanto buscar y codificar
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

Consulta entre Rango de fechas

Publicado por Miguel (347 intervenciones) el 27/12/2014 03:00:44
Hola, primero envíate en un msgbox/messsagebox los valores fechini y fechfin para saber si es correcta la cadena. Otra cosa, parece que te falta el "&" en "BETWEEN ('Fechini') AND ('Fechfin')"; deberías probar con:

1
Consulta= ("SELECT Count(*) FROM Tbla_Factura WHERE estatus =" & "'ACEPTADA'" & " and fecha_registro BETWEEN ('" & Fechini & "') AND ('" & Fechfin & "')")

Coméntanos si te funciona,
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Consulta entre Rango de fechas

Publicado por ELI (62 intervenciones) el 27/12/2014 13:36:11
Resuelto 100x100%

Me siento muy hemocianina, no paro de reír,

Gracias, Gracias, que Dios te bendiga.
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

Consulta entre Rango de fechas

Publicado por Griselda (1 intervención) el 03/12/2016 08:34:00
hola estuve probando el código y no se porque consulta me marca con error, me dice que consulta no esta declarado, puede que este inaccesible debido a su nivel de protección..
por favor ayúdenme si .......gracias
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

Consulta entre Rango de fechas

Publicado por brenda (2 intervenciones) el 18/01/2016 23:37:11
hola buenas tardes
tengo un problema silimar me podrian ayudar
esta es mi consulta para buscar las fechas ...
solo que si busca no me respeta el limite
1
2
3
4
5
6
7
8
9
10
11
12
Sql = "select codigo, agente, empresa, planta, agencia, taller, ultimo, dias, proximo, observaciones, realizado from Mantenimiento WHERE proximo  Between    '" & CDate(dtpfechainicial.Text) & "' AND '" & CDate(dtpfechafinal.Text) & "' ORDER BY codigo ASC"
 
adaptador = New OleDbDataAdapter(Sql, conexion)
Dim datos As New DataTable
adaptador.Fill(datos)
Dim x As Integer = datos.Rows.Count
If x >= 1 Then
    dgvmantenimiento.DataSource = datos
 
Else
 
End If
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
Imágen de perfil de giancarlo

Consulta entre Rango de fechas

Publicado por giancarlo giangbd5@hotmail.com (280 intervenciones) el 18/01/2016 23:43:19
Jo respete limites? No querrás decir que el resultado sea mayor que una fecha? Sería próximo>cdate(fecha)
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

Consulta entre Rango de fechas

Publicado por brenda (2 intervenciones) el 19/10/2016 00:33:25
hola disculpa la tardancia me imagine que no responderias o algo asi... aun asi muchas gracias ..!!
saludos
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
Imágen de perfil de giancarlo

Consulta entre Rango de fechas

Publicado por giancarlo (280 intervenciones) el 20/10/2016 02:09:27
Hola Brenda, si aun no haz solucionado tu consulta, puedes abrir un nuevo tema en el foro
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