Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Tengo Problema Con Fechas Vb6 Access

Estas en el tema de Tengo Problema Con Fechas Vb6 Access en el foro de Visual Basic clásico en Foros del Web. Por favor necesito ayuda!!!! He buscado harto en internet pero sigo con el problema Tengo la siguiente consulta para buscar entre 2 fechas (tabla de ...
  #1 (permalink)  
Antiguo 26/09/2006, 14:00
 
Fecha de Ingreso: mayo-2006
Mensajes: 22
Antigüedad: 18 años
Puntos: 0
Tengo Problema Con Fechas Vb6 Access

Por favor necesito ayuda!!!!
He buscado harto en internet pero sigo con el problema

Tengo la siguiente consulta para buscar entre 2 fechas (tabla de acces 97)
campo fecha tipo fecha corta (dd/mm/yyyy) mismo formato en configuracion regional y cuando lo guardo a la tabla desde visual6

StrSql = "SELECT * FROM COSTOSOBRA WHERE Fecha Between #" & Fecha1 & "# AND #" & Fecha2 & "# ORDER BY CentroCosto, TipoCosto, Fecha"

el proble es fecha1 = 10/09/2006 fecha2 = 25/09/2006
me muestra los datos entre 25/09/2006 y 09/10/2006 ¿como arreglo esto?

URGENTE AGRADESCO SU COOPERACION
PD donde dice "COSTOSOBRA WHERE Fecha " ¿se puede desde visual dar formato a este campo access? o algo asi.....
  #2 (permalink)  
Antiguo 26/09/2006, 14:10
Avatar de tazzito  
Fecha de Ingreso: agosto-2006
Mensajes: 381
Antigüedad: 17 años, 9 meses
Puntos: 2
prueba tu consulta asi:

StrSql = "SELECT * FROM COSTOSOBRA WHERE Fecha Between datevalue(""" & format(Fecha1,"YYYYMMDD") & """) AND (""" & format(Fecha2,"YYYYMMDD") & """) ORDER BY CentroCosto, TipoCosto, Fecha"
  #3 (permalink)  
Antiguo 26/09/2006, 14:32
 
Fecha de Ingreso: mayo-2006
Mensajes: 22
Antigüedad: 18 años
Puntos: 0
error

no coinciden datossss
  #4 (permalink)  
Antiguo 26/09/2006, 14:59
Avatar de tazzito  
Fecha de Ingreso: agosto-2006
Mensajes: 381
Antigüedad: 17 años, 9 meses
Puntos: 2
ok vamos por parte de que tipo son Fecha1 y Fecha 2?
  #5 (permalink)  
Antiguo 26/09/2006, 15:38
 
Fecha de Ingreso: mayo-2006
Mensajes: 22
Antigüedad: 18 años
Puntos: 0
De acuerdo lOS TIPOS SON

Campo Fecha de la BD = Fecha Hora fecha corta dd/mm/yyyy

Variables Fecha1 y fecha2 de VB tipo Date
  #6 (permalink)  
Antiguo 26/09/2006, 15:42
Avatar de tazzito  
Fecha de Ingreso: agosto-2006
Mensajes: 381
Antigüedad: 17 años, 9 meses
Puntos: 2
ups error mio :P tendria que ser algo asi

StrSql = "SELECT * FROM COSTOSOBRA WHERE Fecha Between Datevalue(""" & format(Fecha1,"YYYYMMDD") & """) AND Datevalue(""" & format(Fecha2,"YYYYMMDD") & """) ORDER BY CentroCosto, TipoCosto, Fecha"

espero que ahora si funke :$
  #7 (permalink)  
Antiguo 26/09/2006, 15:54
 
Fecha de Ingreso: mayo-2006
Mensajes: 22
Antigüedad: 18 años
Puntos: 0
vale te pasastes con unos pequeñitos arreglos al codigo que enviastes paso biennn la consulta pero ¿que hace el bendito Datevalue?
  #8 (permalink)  
Antiguo 26/09/2006, 15:58
Avatar de tazzito  
Fecha de Ingreso: agosto-2006
Mensajes: 381
Antigüedad: 17 años, 9 meses
Puntos: 2
jajaja moya :$ es una funcion de acces, seguro transforma la fecha en el formato que access entiende
  #9 (permalink)  
Antiguo 03/11/2006, 19:31
 
Fecha de Ingreso: noviembre-2006
Mensajes: 4
Antigüedad: 17 años, 6 meses
Puntos: 0
La Respuesta A Tu Problema

Si lo ves la sentencia sql no està equivicada, esta devolviendo valores adecuados, en este caso los comtemplados entre las fechas 09/xx/xxxx y la 25/xx/xx, en realidad el asunto està en que la forma en que acces (jet) funciona con las fechas es en formato MM/dd/yyyy, por lo que debes modificar las opciones regionales de tu equipo para que la fecha tenga ese formato y en las tablas de access debes en los campos de fecha dar tambien este formarto, yo tuve el problema durante casi un mes hasta que encontrè un manual de sql que explica que no existe aùn una sentencia ùnica para el tratamiento de fechas y que de acuerdo al motor de base de datos debes adecuar el formato.

En resumen debes manejar las opciones regionales para que la fecha sea en formato MM/dd/yyyy al igual en los campos de las tablas referentes a fechas prueba con eso y realiza de nuevo la sonsulta si quieres me puedes escribir y te envio el còdigo que yo utilizo [email protected]
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 03:06.