Access - Problema con campo fecha en formato mm/dd/yyyy

 
Vista:
sin imagen de perfil

Problema con campo fecha en formato mm/dd/yyyy

Publicado por Jose (42 intervenciones) el 04/10/2017 17:43:34
Hola buenas una consulta resulta que ingreso datos a la tabla y el campo fecha la almacena con formato americano (mm/dd/yyyy), y en el formulario indico que ingrese con el formato dd/mm/yyyy, ¿tendrá alguna solución?
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

Problema con campo fecha en formato mm/dd/yyyy

Publicado por Anonimo (3316 intervenciones) el 04/10/2017 20:41:24
Tan sencillo (y tambien innecesario) como darle formato en el diseño de la tabla, pero por mucho formato sea en color, en negrita o italica que se le aplique ... Access utilizara el formato americano (y si Access hubiera 'nacido en Japon' tendria por defecto otro formato, el de sus creadores: aaaammdd).

La fecha (internamente) no es mas que un numero muy mono al que 'visten de seda' con eso del formato.

No se donde esta el problema si en el formulario se visualizan de forma correcta y la introduccion de fechas se hace en formato europeo (las tablas no deberian ser accedidas por el usuario final ni para ver su color, para eso estan los formularios).
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
sin imagen de perfil

Problema con campo fecha en formato mm/dd/yyyy

Publicado por Jose (42 intervenciones) el 04/10/2017 21:20:17
Sucede que tengo un formulario de búsqueda y al momento de buscar por fecha el subformulario no me actualiza la información. No tengo mucha experiencia en el tema llevo recién 2 meses usando Access y es primera vez que programo te adjuntare mi código para ver si estoy realizando algo mal.

1
2
3
Forms!Busqueda!SubIngreso_orden.Form.RecordSource = "SELECT * FROM Ingreso_orden WHERE Codigo_equipo= '" _
  & Me.b_e & "' AND Tipo_intervencion= '" & Me.b_ti & "' AND Fecha>= #" & Format(Me.f_inicio, "dd/mm/yyyy") & "# AND Fecha<= #" & Format(Me.f_termino, "dd/mm/yyyy") & "# ORDER BY Id;"
Forms!Busqueda!SubIngreso_orden.Requery
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

Problema con campo fecha en formato mm/dd/yyyy

Publicado por Anonimo (3316 intervenciones) el 04/10/2017 22:20:32
Ya que estas comenzando un consejo a seguir que te facilitara la programacion....

Access trabaja en dos niveles:
.- uno (el interno y que es el que se aplica en VBA) utiliza el idioma y modismos de sus creadores (y no es el europeo) sea en nombres de comandos o tipo de datos

.- Otro (el que se utiliza en formularios e informes asi como en consultas) tiene un 'intermediario' (una capa que esta definida por la 'configuracion regional de Windows') que se encarga de trasladar el ingles nativo al castellano, chino, arabe o ruso.

Si estas en 'la capa inferior' ==> VBA has de aplicar el formato regional correcto si: EL AMERICANO y no el europeo o montaras unos lios de mucho cuidado

Hay un metodo universal para evitar ese problema y es facil de aplicar (si se capta el concepto): si las fechas (internamente) son numeros se las trata como numeros y cuando se finaiza de trasterlas (sumar, restar ...) se les adjudica el forrmato que nos agrade

Te puede interesar ojear las funciones
.- CDate (convierte texto a fecha Access)
.- CDbl (convierte un valor fecha de Access en su numero equivalente)
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
sin imagen de perfil

Problema con campo fecha en formato mm/dd/yyyy

Publicado por Jose (42 intervenciones) el 05/10/2017 13:35:26
Muchas gracias por tu consejo voy a estudiar lo que mencionaste y ver si logro dejar esto funcionando 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
sin imagen de perfil

Problema con campo fecha en formato mm/dd/yyyy

Publicado por Edu (2 intervenciones) el 06/07/2022 15:10:44
Hola Jose, he tenido el mismo problema, resulta que no es un error o algo controlable, access realmente solo acepta internamente el formato "mm-dd-yyyy" por lo que para guardar la fecha, dale ese formato, luego siempre la puedes mostrar como quieras luego de los select, así la fecha siempre será bien reconocida y no necesitaras funciones como Cdate. te muestro un ejemplo.

Ejemplo:

Dim fechaactual = Convert.ToDateTime(FormatDateTime(Date.Now, 2).ToString())

Dim mes = Month(fechaactual)
Dim dia = Day(fechaactual)
Dim ano = Year(fechaactual)

Dim fechaF = mes & "-" & dia & "-" & ano

Dim strSQL, objRS

strSQL = "INSERT INTO Tb_ControlDiario (Fecha) VALUES (#" & fechaF & "#)"
objRS = oConn.Execute(strSQL)
objRS = Nothing
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

Problema con campo fecha en formato mm/dd/yyyy

Publicado por Anonimo (3316 intervenciones) el 08/07/2022 09:09:44
La función propia de Access CDate, convierte a formato 'fecha Access' (que internamente es un NUMERO) cualquier expresión de texto que represente a un dato fecha/hora y sea reconocido por el formato regional de Windows.

Nada puedo decir de la función que se utiliza como ¿alternativa?: 'Convert.ToDateTime' (quizás mi versión de Access este obsoleta)

Por cierto, cuando estoy escribiendo esta respuesta es (son) las: 44750,3757638889 hora local.

--- En la ventana de inmediato ---
?cdbl(now)
44750,3757638889

?Format(44750.3757638889,"Long date")
viernes, 8 de julio de 2022

?Format(44750.3757638889,"dd-mmm-yyyy hh:nn")
08-jul-2022 09:01
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
sin imagen de perfil

Problema con campo fecha en formato mm/dd/yyyy

Publicado por Edu (2 intervenciones) el 12/07/2022 00:49:19
Claro, a eso me refiero, hagas como lo hagas, tienes que registrar en el Access mm-dd-yyyy. Luego la fecha estara siempre bien.

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

Problema con campo fecha en formato mm/dd/yyyy

Publicado por Anonimo (3316 intervenciones) el 12/07/2022 05:13:08
Depende.

En VBA se cumple que la fecha se utiliza (y es como la entiende) en formato americano, fuera de VBA la fecha: en el formato local.

Un método de evitar que Access se confunda, es poner el mes en texto (lo interpretara de la forma correcta: 1 ene 2022)
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