Cargar un campo fecha con otra fecha calculada

Discute sobre las herramientas de la base de datos
Responder
davidffmm
Mensajes: 6
Registrado: Lun Dic 02, 2019 11:05 am

Cargar un campo fecha con otra fecha calculada

Mensaje por davidffmm »

Buenos días,

Estoy empezando con Open office y ando bastante pez en tema de programación macros con base.

Estoy creando un formulario con un subformulario. Quiero modificar automáticamente un campo de texto del subformulario al modificar otro campo de texto del subformulario.

He mirado ejemplos en internet, pero no soy capaz de conectar con el formulario en el que estoy trabajando. Entiendo que no conozco bien la manera de conectar ni la sintáxis…

No consigo encontrar documentación en castellano para hacer esto que creo es sencillo conociendo el lenguaje.

Gracias de antemano,

DAvid

NOTA: Título editado por RMG, según las normas del foro, se debe hacer una descripción del problema, no poner simplemente ayuda.
Windows 10 y OpenOffice 4.1.6
RMG
Mensajes: 3884
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Vincular campo de formulario con otro de subformulario

Mensaje por RMG »

Hola,

Para poder ayudarte, lo mejor es que adjuntes un pequeño ejemplo con lo quieres hacer, si solo se trata de vincular un campo del formulario con el subformulario, en este enlace puedes ver como hacerlo. Mira el apartado formularios avanzados.

https://wiki.open-office.es/Base

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)
davidffmm
Mensajes: 6
Registrado: Lun Dic 02, 2019 11:05 am

Re: Vincular campo de formulario con otro de subformulario

Mensaje por davidffmm »

Hola,
La idea es que una tabla principal de unos equipos y en el subformulario registrar las revisiones anuales que se hacen a dichos equipos.
En dicho subformulario registro la fecha de la revisión, si es apto y fecha siguiente revisión...
En el caso de que sea apto (campo tipo booleano), debería completar la fecha de siguiente revisión sumándole 365 días a la fecha de revisión...

Gracias
Windows 10 y OpenOffice 4.1.6
Avatar de Usuario
mauricio
Mensajes: 6093
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Vincular campo de formulario con otro de subformulario

Mensaje por mauricio »

En este foro hay varios ejemplos completos que hacen lo que quieres o muy cercano a ello. Se te solicita un archivo para ver lo que tienes y como ayudarte, de esta manera no obligas a partir de cero a quien quiera ayudarte.
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
davidffmm
Mensajes: 6
Registrado: Lun Dic 02, 2019 11:05 am

Re: Vincular campo de formulario con otro de subformulario

Mensaje por davidffmm »

Tienes razón Mauricio, lo intento adjuntar.
En el formulario principal, el subformulario subform_rev… al modificar el campo apto, si es sí, el campo fecha_sig_rev debe ser 1 año más que el campo fecha_revision.
Gracias de nuevo
Adjuntos
revisiones.zip
bbdd revisiones material
(14.43 KiB) Descargado 222 veces
Windows 10 y OpenOffice 4.1.6
RMG
Mensajes: 3884
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Vincular campo de formulario con otro de subformulario

Mensaje por RMG »

Hola,

Revisa si es lo que necesitas. Vuelvo a cambiar el título del mensaje.

Saludos
Adjuntos
revisiones1.zip
(14.77 KiB) Descargado 236 veces
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)
davidffmm
Mensajes: 6
Registrado: Lun Dic 02, 2019 11:05 am

Re: Cargar un campo fecha con otra fecha calculada

Mensaje por davidffmm »

Esto es perfecto...
Ahora estoy intentando que al seleccionar el id del producto me actualize el subformulario subform, he probado desde botón y es ok, pero si lo hago en un evento después de actualizar listbox, no me funciona... todavía no controlo la sintaxis...

Sub Actualizarsubform(Evento)
Evento.Source.Model.Parent.getByName("SubForm").Reload
End Sub

Existe algún documento con información de los comandos, sintaxis, etc..?

Gracias por la paciencia ...
Windows 10 y OpenOffice 4.1.6
RMG
Mensajes: 3884
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Cargar un campo fecha con otra fecha calculada

Mensaje por RMG »

Hola,

Mi impresión es que te lo estas complicando innecesariamente un poco. Si haces los campos clave autonúmericos, te evitas poner estos, si después los vinculas entre formularios, ya tienes la información relacionada entre form/subform y si en el form principal pones un control tabla para seleccionar el que quieras, solo con esto ya lo tienes casi todo y sin nada de código, que es tu principal problema.

Respecto a aprender, en este enlace tienes todo o casi todo lo necesario.

https://forum.openoffice.org/es/forum/v ... =50&t=1545

Y en este otro, tienes proyectos de BD y otros, para ver cosas.

https://forum.openoffice.org/es/forum/v ... m.php?f=70

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)
davidffmm
Mensajes: 6
Registrado: Lun Dic 02, 2019 11:05 am

Re: Cargar un campo fecha con otra fecha calculada

Mensaje por davidffmm »

Hola de nuevo,
El problema es que los los campos claves números de serie y no puede ser autonumerico.
Lo que desconozco es como actualizar un subformulario al modificar el campo del formulario principal con el que está relacionado.

Gracias por la Info.
Windows 10 y OpenOffice 4.1.6
RMG
Mensajes: 3884
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Cargar un campo fecha con otra fecha calculada

Mensaje por RMG »

Hola,

Puedes disponer de esos campos con indice único para que no se pueden duplicar y trabajar con ID autonumericos internamente para las relaciones y vinculos.

Si modificas un campo clave en el formulario principal, es más complicado de lo que parece actualizar esa modificación en el secundario, ya que pierde su vinculación, no ocurre así si la has hecho a través del ID auto, ya que este no lo puedes modificar.

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)
davidffmm
Mensajes: 6
Registrado: Lun Dic 02, 2019 11:05 am

Re: Cargar un campo fecha con otra fecha calculada

Mensaje por davidffmm »

Hola de nuevo, no soy capaz de encontrar la sintaxis correcta para comparar un campo de fecha en un formulario con la fecha actual. Podríais echarme una mano, por favor...
Windows 10 y OpenOffice 4.1.6
RMG
Mensajes: 3884
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Cargar un campo fecha con otra fecha calculada

Mensaje por RMG »

Hola,

La fecha actual puede ser Date(), Now() en una macro, y dependiendo de su uso quizás te haga falta trabajar con Format(). Así que, debes ser más concreto que decir comparar en un formulario. En el enlace de los proyectos, si entras en sus macros en algunos tienes ejemplos. de como obtener la fecha actual.

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)
RMG
Mensajes: 3884
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Cargar un campo fecha con otra fecha calculada

Mensaje por RMG »

Hola,

Por si te ayuda. Ejecuta esta macro y veras diferentes formas de obtener la fecha actual.

Código: Seleccionar todo

Sub Ejemplo_fecha_actual
print Date()
print Format(Date(),"yyyy-mm-dd")
print Now()
print Format(Now(),"hh")
print DateValue(Now())
fecha = CDateToIso(Now)'devuelve un numero
print fecha
fecha = CDateFromIso(fecha)'pasa el numero a fecha
print fecha
print DateSerial(1954,1,21)' fecha texto
print Day(DateSerial(1954,1,21)) & " del mes "& Month(DateSerial(1954,1,21))& " del año "& Year(DateSerial(1954,1,21))
print "Dia " & Day(DateValue(Now())) &" del mes "& Month(DateValue(Now()))& " del año "&  Year(DateValue(Now()))
print "Dia " & DatePart("d",Now()) & " del mes " & DatePart("m",Now()) &" del año  " & DatePart("yyyy",Now())
End sub
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)
Responder