Access - Ordenar por fechas

 
Vista:

Ordenar por fechas

Publicado por Belén (4 intervenciones) el 18/04/2006 13:05:56
Hola a todos!! a ver, tengo un campo en la bd que se llama fecha_entrada pero es de tipo texto. A la hora de hacer una consulta y ordenarla por este campo me lo ordena como texto, por eso necesito en la consulta convertir el fecha_entrega que es de tipo texto a tipo fecha. Alguien puede decirme cómo?? En sql yo utilizo la función cast o convert pero en access me da error. Muchísimas gracias de antemano !!
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:Ordenar por fechas

Publicado por 2pl (773 intervenciones) el 18/04/2006 17:45:54
Aqui tienes esta función

Function FECHA2(ddmmaaaa As Variant) As Date
'Fecha pasada en caracteres dia, mes año pasarla a formato fecha dd/mm/aaaa

On Error Resume Next
If IsNull(ddmmaaaa) Or ddmmaaaa = " " Then
FECHA2 = ""
Else
FECHA2 = Format(ddmmaaaa, Format("0#/##/####"))

End If

End Function

Saludos desde Cádiz
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:Ordenar por fechas

Publicado por Belén (4 intervenciones) el 18/04/2006 18:17:45
Muchísimas gracias por tu ayuda pero no es eso exactamente lo que quiero. Necesito en una consulta de Access ordenar por el campo fecha_entrada:

(Select * from tabla1 order by fecha_entrada)

como fecha_entrada no es de tipo fecha sino de tipo texto, necesito algo parecido a:
(Select * from tabla1 order by cast(fecha_entrada as fecha)

Muchísimas gracias por todo y un saludo desde Badajoz!
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:Ordenar por fechas

Publicado por 2pl (773 intervenciones) el 18/04/2006 18:27:41
Tan sencillo como poner en la consulta un campo FECHA: FECHA2([FECHAENTRADA]) y ordenar por 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

RE:Ordenar por fechas

Publicado por Belén (4 intervenciones) el 18/04/2006 19:08:13
Hola! de nuevo muchas gracias por tu ayuda pero no entiendo lo que me dices. Podrías explicármelo de nuevo ? Gracias por todo!
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:Ordenar por fechas

Publicado por 2pl (773 intervenciones) el 18/04/2006 19:26:02
Esta función te la debes de crear entrando en modulos--- nuevo y pegasesto
Function FECHA2(ddmmaaaa As Variant) As Date
'Fecha pasada en caracteres dia, mes año pasarla a formato fecha dd/mm/aaaa

On Error Resume Next
If IsNull(ddmmaaaa) Or ddmmaaaa = " " Then
FECHA2 = ""
Else
FECHA2 = Format(ddmmaaaa, Format("0#/##/####"))

End If

End Function

Luego en la consulta te creas un campo (llamale como te de la gana) CAMPOFECHA:FECHA2([TU CAMPO FECHA EN CARACTER DDMMAAAA]) y te devolvera ese campo convertido a fecha.
Si tienes messenger podrias conectarte y podria explicartelo mejor..
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:Ordenar por fechas

Publicado por Enrique (1299 intervenciones) el 18/04/2006 21:14:16
Hola amigos:
He probado la función de 2pl metiéndola directamente como un campo calculado de una Consulta y parece que tambien funciona sin crear un módulo, simplemente así:

Fecha: Formato([CampoTexto];Formato("0#/##/####"))

Muy buena esta función 2pl, me ha gustado.

Un saludo
Enrique
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:Ordenar por fechas

Publicado por Belén (4 intervenciones) el 19/04/2006 11:08:43
Hola de nuevo. A mi me sigue dando error de sintaxis. ¿ Podrías decirme cómo lo escribirías si lo estuvieses escribiendo en una consulta directamente en ACCESS ? Muchísimas gracias por todo y espero poder ayudaros yo en otra ocasión.
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:Ordenar por fechas

Publicado por Enrique (1299 intervenciones) el 19/04/2006 19:05:59
Belen, me acabo de dar cuenta que no sirve poner un campo calculado de la forma que dije ayer, porque aunque aparentemente convierte un campo texto de una tabla a fecha, por ejemplo 18042006 lo convierte en 18/04/2006 pero como digo es sólo aparente porque sigue siendo texto. Sin embargo la función que te indica 2pl si lo convierte realmente por lo que debes de crear un Módulo nuevo y pegar su Función y luego crea una nueva consulta, la abres en vista SQL y le pegas esto, cambiando NombreTabla por el Nombre de la Tabla donde está el campo de texto y CampoTexto por el nombre del Campo en dicha Tabla:

SELECT FECHA2([CampoTexto]) AS CAMPOFECHA
FROM NombreTabla;

Para comprobar que efectivamente ya si es una fecha real, crea al lado un campo calculado y le sumas 30 por ejemplo:

Vencimiento: CAMPOFECHA + 30 y verás como te dará: 18/05/2006

Ya dije ayer que la función de 2pl me había gustado.

Un saludo
Enrique
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