Para Jhonny Vargas P. o alguien que sepa el tema de fechas en acces

04/02/2004 - 10:38 por una buena persona | Informe spam
Hola Jhonny, mira te reclamo pq tengo un problemilla con las fechas en
acces, he visto que has resuelto mas veces esto a los compañeros, pero a mi
me da error, ma me gustaria que me dijeras en la db como tengo que poner el
campo que contiene la fecha, tengo que poner alguna mascara de entrada o
algo, porque al poner la fecha en YYYY/MM/DD, me lo transforma a dd/mm/yy, y
en la consulta que hago qu es esta SELECT * from fecha where fechaentrada
=#2004/01/01#, no me reconoce el formato de fecha, que es lo que hago mal,
me puedes echar una manilla, gracias

Preguntas similare

Leer las respuestas

#1 Matias Iacono
04/02/2004 - 13:00 | Informe spam
El problema es que confundes la INSERCION con la CONSULTA...

Para insertar datos, y que no te los varie, o sea, no te ponga en el mes el
dia y el dia el mes, dependiendo de tu configuracion regional, se hace la
insercion de modo yyyy/mm/dd.

Pero al momento de hacer un select, no hace falta que inviertas los datos,
lo puedes hacer de la forma normal, dd/mm/yyyy.

Esto se aplica tanto a access como a Sql Server.

saludos

"una buena persona" escribió en el mensaje
news:
Hola Jhonny, mira te reclamo pq tengo un problemilla con las fechas en
acces, he visto que has resuelto mas veces esto a los compañeros, pero a


mi
me da error, ma me gustaria que me dijeras en la db como tengo que poner


el
campo que contiene la fecha, tengo que poner alguna mascara de entrada o
algo, porque al poner la fecha en YYYY/MM/DD, me lo transforma a dd/mm/yy,


y
en la consulta que hago qu es esta SELECT * from fecha where fechaentrada
=#2004/01/01#, no me reconoce el formato de fecha, que es lo que hago mal,
me puedes echar una manilla, gracias


Respuesta Responder a este mensaje
#2 Jhonny Vargas P.
04/02/2004 - 13:06 | Informe spam
Hola Paula, (por tu correo)

Primero que nada, me debes indicar que Base de datos estás utilizando si es
Access o Sql Server.

Si es Access, deberías colocar lo siguiente en el query, ejemplo:

Formato #yyyy/mm/dd#

Cadena = "Select * From Fecha Where FechEntrada = #2003/12/25#"


Para SQL Server es más simple, ya que debes utilizar el Formato 'yyyymmdd'

Cadena = "Select * From Fecha Where FechEntrada = '20031225' "

Todo lo anterior es para realizar CONSULTAS o QUERYS a la base de datos,
cuando necesitas leer un valor FECHA, es una variable FECHA y al pasarla a
STRING o TEXTO te la deja según el formato que tiene el servidor, en este
caso te la está dejando con dd/mm/yy.

Teniendo esto presente deberías crear dos funciones; la primera para dar
formato a las Querys (transformando una fecha en yyyy/mm/dd o yyyymmdd,
según corresponda) y la otra para dar formato de una Fecha a lo que
necesites (transformando una fecha al formato dd/mm/yyyy o dd-mm-yyyy o dd -
mmmmm - yyyy o como tu desees).

Ejemplos:

Function FechaFormatoQuery (Byval Fecha)
'Esperamos la fecha en formato dd/mm/yyyy, según lo que ingresa el
usuario
'para transformarla en yyyy/mm/dd o yyyymmdd.

'Para access
FechaFormatoQuery = Mid(Fecha, 7, 4) & "/" & Mid(Fecha, 4, 2) & "/" &
Mid(Fecha, 1, 2)

'o para SQL Server

' FechaFormatoQuery = Mid(Fecha, 7, 4) & Mid(Fecha, 4, 2) & Mid(Fecha, 1,
2)

End Function


Function FechaFormatoString(ByVal Fecha)
'Fecha ahora es un tipo FECHA

FechaFormatoString = Day(Fecha) & "/" & Month(Fecha) & "/" & Year(Fecha)

'o si lo necesitas con ceros a la izquierda
FechaFormatoString = Right("0" & Day(Fecha), 2) & "/" & Right("0" &
Month(Fecha), 2) & "/" & Year(Fecha)

End Function


Espero que te sirva y me entiendas los ejemplos.


Saludos,
Jhonny Vargas P. [MS-MVP]
Santiago de Chile
http://www.mvp.cl


"una buena persona" escribió en el mensaje
news:
Hola Jhonny, mira te reclamo pq tengo un problemilla con las fechas en
acces, he visto que has resuelto mas veces esto a los compañeros, pero a


mi
me da error, ma me gustaria que me dijeras en la db como tengo que poner


el
campo que contiene la fecha, tengo que poner alguna mascara de entrada o
algo, porque al poner la fecha en YYYY/MM/DD, me lo transforma a dd/mm/yy,


y
en la consulta que hago qu es esta SELECT * from fecha where fechaentrada
=#2004/01/01#, no me reconoce el formato de fecha, que es lo que hago mal,
me puedes echar una manilla, gracias


Respuesta Responder a este mensaje
#3 Hero
04/02/2004 - 13:16 | Informe spam
Hola:

La manera de consultar a la base es DD/MM/YYYY, para conseguir ello
debes formatear tu variable FECHA. Format(Var_Fecha, "dd/mm/yyyy")

Para insertar un registro, se debe convertir en yyyy/mm/dd, lo cual será de
la forma Cdate(var_fecha)


Que la fuerza este contigo,- Hero.



"una buena persona" escribió en el mensaje
news:
Hola Jhonny, mira te reclamo pq tengo un problemilla con las fechas en
acces, he visto que has resuelto mas veces esto a los compañeros, pero a


mi
me da error, ma me gustaria que me dijeras en la db como tengo que poner


el
campo que contiene la fecha, tengo que poner alguna mascara de entrada o
algo, porque al poner la fecha en YYYY/MM/DD, me lo transforma a dd/mm/yy,


y
en la consulta que hago qu es esta SELECT * from fecha where fechaentrada
=#2004/01/01#, no me reconoce el formato de fecha, que es lo que hago mal,
me puedes echar una manilla, gracias


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida