Access fecha juliana

Hola de nuevo!
Tengo esto.. 0824101 --> 08 año 241 día juliano, 01 numero de fabricación
Seria posible que al generar un informe, o en una consulta, me pusiese la fecha en vez del numero este, ¿en plan 29/08/08 o algo por el estilo? ¿
Un saludo! Mil gracias
Respuesta
1
Je je, ahora no te lo voy a poner tan fácil, pero te voy a ir dando pistas. Ahí van unas cuantas fórmulas que puedes utilizar
Der(cadena, n) te devuelve los n caracteres que están a la derecha de una cadena
Izq(cadena, n) te devuelve los n caracteres que están a la izquierda de una cadena
Fechanumero(cadena) transforma una cadena de texto en un número que representa una fecha
Si quieres te lo pongo más claro pero así tú vas aprendiendo más.
jajajaj
Me parece justo,
con izq(numero;5) -->conseguí el año y el día,
y trabajando sobre la expresión esa
con izq(expr1;2) ---> consigo el año
con der(expr1;3) ---> consigo el día
peeeeerooo
la de fechanumero "no esta definida en la expresión"...
Probé a hacer varias cosas pero no m deja..
una pistilla más... jajjajja
Ok,
Quizá sea más fácil con cfecha. Ten en cuenta el formato de tus fechas en el origen y en el destino. Esta expresión te vale tanto para texto con un formato similar a una fecha: dd/mm/aaaa, ... como para texto que represente un número.
08 no es un año, es el 8 de enero de 1900.
2008 tampoco es un año, corresponde a 2008 días después del 0 de enero de 1900.
Tienes que conseguir pasar el año a una fecha entendible. Te será útil ++ para unir cadenas.
El día juliano pasado a valor corresponderá a una fecha de 1900.
Creo que ahora es un poco más complicado pero confío en ti.
Lo tengo para este año,
pero para el año que viene no me vale..
Simplemente cogí la consulta de año+diajuliano 08240, y le sume los 29255 días que le faltan para llegar al día de hoy
El problema es cuando pase a 2009 --- 09001 porque pierdo 8634 días...
Me refiero en que por ejemplo este año acaba en el 08365, hasta llegar al 9001 k seria el 1 de enero del 2009 pierdo 735 días
08240 mezcla dos tipos de datos. Hazlo mejor como te dije.
Pasa el año a fecha, para ello tendrás que crear una cadena de texto con el 08 pero te valdrá para cualquier tipo de año. (Ej: "01/01/20"++"08") con eso tendrías una fecha en formato texto que lo podrías pasar a fecha. El 08 puedes sustituirlo por el campo que lo halla.
Luego puedes sumarle tus días julianos (pero ten cuidado, que ya empiezas con el 01/01, a ver como les sumas los días)
Y por último, si vas a seguir introduciendo datos en 2009, valora que te resulta más cómodo, si hacer todos estos cálculos o cambiar el código inicial incluyendo fechas completas (ej: 280808f47)
Seguimos
Quizás tengas razón, en lo de cambiar el lote, pero lo hago por tener todos iguales, ya que en SAP y en otra base de datos de access, los lotes los ponemos todos en este formato y es para no variar.
Ya conseguí hacerlo, t cuento por si ves algo raro, pero en principio funciona bien aunque tg un problemilla
01/01/20"++"08" ---> tuve que hacerlo así "01/01/200"++"expresión que saca el año"--> '8' esto es porque al meter 0824201, se carga el '0' y m pone solo 824201, si hay alguna forma de solucionarlo...
Luego solo tuve que sumarle la expresión de los días julianos, y sumarle 1, porque el 01/01/09 seria el día 000, y para mi seria el 001..
Si se puede solucionar lo del 0 me cuentas, porque si se sigue usando en 2010, me sobraría un 0
muchas gracias...
Supongo que has puesto demasiadas cosas en la "expresión que saca el año". Si pones solamente Izq([nombre del campo];2) no tendrás problemas. Ahora no quieres que te saque el año como una fecha sino como los dos caracteres de la izquierda en una cadena.
No pero me refiero al formulario de entrada de datos,
cuando meto el numero ya m elimina el 0 automáticamente, supongo porque el 0 a la izquierda no tiene valor, la consulta funciona bien, yo ceo que es más problema del formulario.
Y otra cosa, estoy hice un informe sobre esta consulta, y hice un formulario sobre el informe en el que meto fechas en 2 cajas de texto, y al hacer click en el command m busque entre esas dos fechas..
Pero me da cosas raras
DoCmd.OpenReport "fab consulta1", acPreview, ,
"[Expr2]between[forms]![formulario1]![Texto1]and[forms]![fro]![Texto3]"
dd fab consulta1  es el informe, formulario1 el formulario, los textos la caja de texto, yexpr2 la fecha que sacamos.
Pero me da los resultados que le da la gana, este código lo use en otra base de datos y funciono bien,
¿Puede qué el valor de la expr2 no sea la fecha que pone? ¿
Sobre lo primero. Tienes que definir el campo como tipo texto, si te quita el 0 es que lo tienes definido como numérico.
Sobre el formulario comprueba que tus dos cuadros de texto estén en formato fecha corta
Oye ya te mandare una parte de mi nomina
jajajaj
Joder muchísimas gracias y perdona por ser ta pesada!
Pero es que necesito acabarla ya!
Un saludo y muchísimas gracias de nuevo
Eres un crack

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas