[RESUELTO]Calculos Edad

Discute sobre las herramientas de la base de datos
Responder
antonsiete
Mensajes: 87
Registrado: Dom Jun 24, 2018 8:48 pm

[RESUELTO]Calculos Edad

Mensaje por antonsiete »

Hola,

He estado intentando entender el funcionamiento de las Macros para el calculo de edad de los ejemplos de Mauricio:

https://forum.openoffice.org/es/forum/v ... dad#p56882

despues de darle unas cuantas vueltas y de hacer alguna que otra prueba, ya me ha quedado quedado claro que se puede hacer de dos formas:

1- Que el formulario tome los datos de la propia Tabla

2- Que el formulario tome los datos de una Consulta previamente hecha de dicha Tabla

La diferencia que veo es que,

en el primer caso,

en el modulo que usa, hay tres macros CalcularMeses, CalculaEdad y FuncionCalc, en las propiedades del formulario solo se "llama" a uno(CalcularMeses)
Standard.Module1.CalcularMeses (document, Basic)
, que coge el valor de la propia "Tabla" del "Campo" Nº=36 y "expulsa" el valor de la "Funcion CalculaEdad" en el Campo "txtMeses", y que dicha "Funcion CalculaEdad" esta definida por la "Funcion FuncionCalc" en la linea

Código: Seleccionar todo

iMeses = FuncionCalc( "com.sun.star.sheet.addin.DateFunctions.getDiffMonths", mDatos() )
en el segundo caso,

en el modulo solo hay un Macro(CalcularMeses2),en las propiedades del formulario se "llama" a ese Macro(CalcularMeses2)
Standard.Module2.CalcularMeses2 (document, Basic)
que "expulsa" el resultado de la "Funcion CalculaEdad" cogiendo el valor del "Campo" Nº=3 de la Consulta creada a partir de la Tabla.

Y mis dudas son: ¿esas "Funciones" son Macros Individuales cada una?
¿podrian estar definidas en otro Modulo(por ejemplo un modulo de nombre "Funciones" y que las usen las Macros de los Modulos 1 y 2?


Y mi pregunta es:

¿Hay alguna manera de que alguna de estas Macros "guarde" el resultado del calculo en un Campo de la Tabla que se llame "Edad"?

Espero haberme explicado bien ,

un saludo y gracias
Última edición por antonsiete el Mar Jul 10, 2018 8:56 pm, editado 1 vez en total.
Apache OpenOffice 4.1.5
OS X El Capitan 10.11.6
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Calculos Edad

Mensaje por RMG »

Hola,

Sobre tus dudas.

Si estas con el tutorial de Mauricio que comentaste anteriormente, esta todo muy bien explicado. Que diferencia hay entre una macro y una función. Y efectivamente a la función la puedes llamar desde donde quieras.

Sobre tu pregunta.

Si es posible cargar un campo edad, pero debes tener mucho cuidado al utilizar este dato, ya que si lo usas sin pasar por donde se hace el calculo a la hora de trabajar con el, este será erróneo. Para mi, y viendo tu trabaja donde la importancia de meses y días no es mucha, yo usaría el calculo en la consulta, si quieres ajustar un poco más divides por 365,25.

En este enlace se habla mucho del tema.

https://forum.openoffice.org/es/forum/v ... 753#p60753

Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
antonsiete
Mensajes: 87
Registrado: Dom Jun 24, 2018 8:48 pm

Re: Calculos Edad

Mensaje por antonsiete »

Hola,

Ando a ratos con el Manual de Mauricio, pero mas con idea de intentar entender que de aprender a programar, la verdad es que estos dias lo tengo un poco dejado y solo he llegado hasta donde explica el tema de los bucles, vamos que me falta mucho para una lectura previa de todo el manual ya que voy escribiendo los ejemplos que va poniendo en un intento de entenderlos un poco.

Sobre el enlace que pones ya lo he leido varias veces pero hay demasiado codigo "complejo" como para que yo entienda algo ahi de momento.

Respecto a lo del calculo de edad de momento solo lo usare mediante consulta y usando esta "Sentencia" (Se llama asi?)
"Calcular Edad : DATEDIFF( 'YY', [FECHA_NACIMIENTO], CURDATE( ) )"
que he encontrado entre los ejemplos de las consultas de tu archivo "Funciones" , ya que a mi lo de los meses y dias me da lo mismo, y si no me equivoco con esta ¿Sentencia? no influye el tema de años bisiestos.

De hecho, he estado manipulando la Macro de Mauricio, y si he conseguido usarla para que me diga solo los años, quitandole alguna cosa del codigo, pero no me merece la pena tener que manipular eso pudiendo hacerlo con una simple consulta.

lo de ver si es posible guardar ese calculo en la tabla, es solo por el hecho de que la unica forma que veo que puedo ir haciendo "copia de seguridad" de los datos que vaya metiendo, es haciendo consultas y copiandolos a hoja Calc, que es como lo he estado haciendo para quitar los datos reales y poner datos ficticios, cuando he subido a Mega para que lo vieras.
Pero si no estoy equivocado a la hora de volver a recuperarlos me pone todos los campos como "Varchar". Asi que tambien ando algo perdido por ese lado. No se si hay alguna manera de poder hacer una "copia de seguridad" sin tener que perder los formatos puestos a los campos.

He visto en el menu opciones de openoffice, preferencias-cargar/guardar, que esta activada la opcion "Siempre crear una copia de seguridad", pero no estoy muy seguro de que lo haga, ni de donde las guarda, si es que las hace, ya que lo unico que he sido capaz de ver es en Opciones-Rutas una ruta que acaba en una carpeta "backup", pero cuando llego a ella
todos los archivos que hay en ella estan como en gris, no puedo seleccionarlos, y ademas el ultimo que veo tiene fecha del 26 de Junio.
Asi que no tengo ni idea de como va eso.

un saludo y gracias
Apache OpenOffice 4.1.5
OS X El Capitan 10.11.6
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Calculos Edad

Mensaje por Longi »

Quizá RMG se refería a este otro hilo:

https://forum.openoffice.org/es/forum/v ... lit=+fecha

En este se calcula la edad, el otro es para escribir fechas en un campo.
En cuanto a las copias de seguridad no soy el más indicado para hablar, pero si lo que quieres es sacar datos a calc y no perder formato miraré un poco y te cuento.

Un saludo! ;)
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
antonsiete
Mensajes: 87
Registrado: Dom Jun 24, 2018 8:48 pm

Re: Calculos Edad

Mensaje por antonsiete »

Muchas gracias Longi,

Si , el hilo que me decia RMG ya lo habia ojeado varias veces, pero aparte de que es mucho codigo complejo lo que sale ahi, creo que es un tema distinto ya que yo las fechas las pongo todas en formato de campo DATE.

Le echare un ojo al que has puesto tu , aunque seguramente ya lo tenga mirado , porque cuando empece con esto estuve ojeando todos los hilos un poco por encima.

Lo que dices de perder formatos es posible que te refieras a este comentario mio,
Pero si no estoy equivocado a la hora de volver a recuperarlos me pone todos los campos como "Varchar".
, pero me he dado cuenta de que debia de cometer yo algun error a la hora de volver a copiar los datos desde Calc hacia la Tabla, ya que lo que son los formatos "Generales", Varchar, Date, Integer, Numeric, etc si que los respeta, pero con el formato prederteminado por AOO ya que no guarda los que yo he definido.

Realmente, el problema de la perdida de formato esta en que el que no me guarda los formatos es el propio AOO, pongo los campos de fecha como 02/05/2018 y al de dos veces que que abro y cierro la BD el formato se vuelve a 02/05/18.

Con los telefonos me pasa igual, me resulta mas facil leerlos 94 499 64 58 , pero pongo ese formato al campo al crear la tabla y al de dos veces que abra y cierre la BD se vuelve a 944996458.

Ya comento RMG que hay algun problema con lo de que AOO guarde los formatos, asi que ahi di la guerra por perdida ya que solo sirve para perder tiempo, quizas es una cuestion de la que deberirian enterarse los desarrolladores o no se, ya que, de que sirve tener la opcion de poner formatos si luego el programa no los respeta?

Un saludo y muchas gracias
Apache OpenOffice 4.1.5
OS X El Capitan 10.11.6
antonsiete
Mensajes: 87
Registrado: Dom Jun 24, 2018 8:48 pm

Re: Calculos Edad

Mensaje por antonsiete »

jajajajajaaj Longi, eres la ostia, :lol:

en ese hilo todavia os meteis en un jardin mas complejo de codigo :roll: , creo que me haria falta mas tiempo del que vaya a durar la Asociacion de Viudas esta, para empezar a entender un poco de que va todo lo que meneais ahi. :knock:

No obstante gracias por el intento :super: , lo dejo guardado para mirarlo con mas calma en algun otro rato.

Un saludo
Apache OpenOffice 4.1.5
OS X El Capitan 10.11.6
Responder