[RESUELTO] Campo calculado en formulario no actualiza regist

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
telemeteo
Mensajes: 49
Registrado: Jue Ago 13, 2015 6:26 pm

[RESUELTO] Campo calculado en formulario no actualiza regist

Mensaje por telemeteo »

Buenas tardes.

Volvemos otra vez con el formulario, esta vez reformado, a ver si podeis hacer el favor de echarme una mano.

Tengo una base de datos. que adjunto, que tiene un formulario, formulario2, con un campo calculado ("fecha_anterior").
Los tres campos del formulario sirven para modificar los datos de la tabla "filtro", ya que no agregan nuevos datos.
Los modifican para que sirvan de parámetros a tres consultas. Los dos primeros ("fecha_inicio" y "fecha_final") no dan problemas,
el tercero, "fecha_anterior", se actualiza una vez se introducen los datos en "fecha_inicio", pero no cambia los datos de la tabla.
Creo que es por la macro con la que obtiene los datos, pero no soy capaz de comprender el porqué. Se que es un campo "text" aunque esté
en un cuadro fecha.
Las consultas son para ponerlas en los diferentes subformularios y ver si puedo hacer un informe que me convenza.

Gracias de antemano y un saludo,

Emiliano
Adjuntos
formulario.odb.zip
Base de datos de ejemplo
(19.56 KiB) Descargado 147 veces
Última edición por mauricio el Sab Oct 03, 2015 3:20 am, editado 2 veces en total.
Razón: Marcar icono de resuelto
LibreOffice 5.3.1.1 - Fedora 25 (Principal)
OpenOffice 3 - Windows 7 (trabajo)
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Campo calculado en formulario no actualiza registro en t

Mensaje por mauricio »

Para que un control actualice una tabla, el formulario debe estar asociado ha dicha tabla y el control a una campo especifico, lo cual NO tienes en tu formulario, mira aquí: http://wiki.open-office.es/Formularios_ ... ffice_Base

por otra parte, un campo calculado es eso, calculado, generalmente no hay razón para guardarlo...
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
telemeteo
Mensajes: 49
Registrado: Jue Ago 13, 2015 6:26 pm

Re: Campo calculado en formulario no actualiza registro en t

Mensaje por telemeteo »

Hola,

Dentro del formulario "formulario2" hay un subformulario "Entradas_Datos" dónde está el control "fecha_anterior".
Este subformulario está relacionado con la tabla "filtro", y los tres controles están cada uno relacionados con uno
de los campos de la tabla "filtro".
Los dos primeros controles actualizan los datos automáticamente, no así el tercero "fecha_anterior".
Creí que con eso bastaba, que no hacía falta relacionar el "formulario2" con la tabla, que con hacerlo a nivel subformulario era suficiente.

Un saludo,
Emiliano
LibreOffice 5.3.1.1 - Fedora 25 (Principal)
OpenOffice 3 - Windows 7 (trabajo)
telemeteo
Mensajes: 49
Registrado: Jue Ago 13, 2015 6:26 pm

Re: Campo calculado en formulario no actualiza registro en t

Mensaje por telemeteo »

Hola, buenas noches.

Envío un ejemplo de un base de datos para cuentas corrientes, donde pongo un formulario con las fechas de inicio, fin,
la Cuenta, y la fecha inicial.

Al poner los datos cambia los registros de la tabla Parametros, ejecuta de nuevo las consultas y en el mismo formulario prepara el informe.
Lo de que entre en la tabla el campo calculado es por no cambiar el campo de texto por uno fecha y ponerlo a mano, con el error que puede
llevar por un despiste.
Es que no sé si un campo calculado se puede poner como registro en una tabla.
Esta no es la misma que la del otro día. Es parecida.
Esta y la otra irán juntas en otra base para controlar una asociación.
Falta aún el control de recibos de los socios.

Un saludo,

Emiliano
Adjuntos
Movimientos_prueba.odb.zip
(90.22 KiB) Descargado 178 veces
LibreOffice 5.3.1.1 - Fedora 25 (Principal)
OpenOffice 3 - Windows 7 (trabajo)
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Campo calculado en formulario no actualiza registro en t

Mensaje por RMG »

Hola,

Con esto espero que te funcione, cambia el nombre de fecha_inicio a fecha_inicial.

Código: Seleccionar todo

Sub ActualizarFechaAnterior( Event )

   obj = Event.Source.Model
   fecha_seleccionada = obj.Text
   fecha_anterior = DateAdd("d", -1, fecha_seleccionada)
   frm = obj.Parent
   obj_fecha_seleccionada = frm.getByName("fecha_inicial")
   obj_fecha_seleccionada.BoundField.UpdateString(Format(fecha_seleccionada,"YYYY-MM-DD"))
   obj_fecha_anterior = frm.getByName("fecha_anterior")
   obj_fecha_anterior.BoundField.UpdateString(Format(fecha_anterior,"YYYY-MM-DD"))
   frm.UpdateRow
   
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)
telemeteo
Mensajes: 49
Registrado: Jue Ago 13, 2015 6:26 pm

Re: Campo calculado en formulario no actualiza registro en t

Mensaje por telemeteo »

Buenas noches,

Muchas gracias, Ramón.

Funciona de maravillas. Era lo que buscaba.
Quería hacer un informe bastante personalizado, en el que figuraran las fecha solicitadas, y esto es lo mas que he conseguido.
Después de ver muchos ejemplos encontré la solución fácil de crear una tabla qué sólo sirve para introducir los parámetros, y usar los
datos en las consultas. Creando el formulario me permite crear tantos subformularios como crea conveniente.
Ya sólo me falta ver cómo puedo hacer que el grid se puede redimensionar automáticamente. O ver si hay algún otro método para que los datos
ocupen todo alto que necesiten, y si necesitan varias páginas, lo hagan.
Pero con esto por ahora tengo suficiente. Con sacar datos de 1 o 2 meses, me es suficiente.

Un saludo,

Emiliano
LibreOffice 5.3.1.1 - Fedora 25 (Principal)
OpenOffice 3 - Windows 7 (trabajo)
Responder