[RESUELTO] Registro nuevo en Informe

Discute sobre las herramientas de la base de datos
Responder
ugab
Mensajes: 141
Registrado: Mar May 17, 2011 9:46 pm

[RESUELTO] Registro nuevo en Informe

Mensaje por ugab »

Buenas como andan..
Estoy necesitando nuevamente ayuda.
He gracias a las invalorables ayudas de Uds, realizar una Base de reservas.
Se basa en una tabla (Psocial) la cual mediante una consulta (por fecha) abro en un formulario, este formulario me trae los datos de las reservas en una (Tabla Grid) la que solo muestra los datos y en la parte izq. despliego otros datos los cuales sí se pueden modificar.
El formulario funciona perfecto, se pueden dar de baja reservas (botón borrar) etc etc.
El problema se da, cuando se quiere agregar una reserva nueva, la muestra, la graba, pero cuando vamos a Informe para listar todas las reservas de dicho día, queda en blanco no despliega nada queda como en (Loop).
Adjunto la base.
Aprecio la ayuda que me puedan brindar..
Gracias !!!!
Adjuntos
Planilla del Parque.rar
(39.9 KiB) Descargado 157 veces
Última edición por mauricio el Mar May 01, 2018 2:53 pm, editado 2 veces en total.
Razón: Marcar icono de resuelto
OpenOffice 4.1.5 en Windows 10 - Ubuntu
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Registro nuevo en Informe

Mensaje por Longi »

Buenas!
Igual ando un poco perdido, pero con la estructura que tienes, si es como yo creo, si primero guardas el registro (botón guardar) y después le das a actualizar, ya queda todo bien.
En cuanto a la estructura, si admites comentarios, yo haría un formulario principal, (el de la izquierda), y un subformulario, que sería el que contuviese el grid.
Eliminaría el criterio de la consulta, ya que desde el campo fecha puedes escoger la fecha que te apetezca del total que tienes, y el subformulario, si se vincula con el principal, ya tiene el filtro hecho.
Con esto te evitarías el tener que aportar fecha una vez tras otra para lo mismo.
En el botonaje quizá en vez de usar una acción predeterminada (que te obliga a dos botones), pondría una pequeñita macro en uno de ellos y hace las dos acciones a la vez.

Ya dirás! ;)
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
ugab
Mensajes: 141
Registrado: Mar May 17, 2011 9:46 pm

Re: Registro nuevo en Informe

Mensaje por ugab »

Estimado Longi, muchas gracias primero que nada.
Todos los aportos y/o comentarios son de gran ayuda, mas en mi caso.
En cuanto al formulario, ingreso un registro nuevo y efectivamente le doy al boton guardar y luego al actualizar, en el formualrio funciona perfectamente, el error se da cuando le doy click al boton de imprimir (llama a la consulta y abre el informe) ahí es donde no aparece nada.
Hice un formulario principal como me aconsejas con un subformulario, con el filtro de (freserva), adjunto como lo hice
Adjuntos
Planilla del Parque.rar
(46.65 KiB) Descargado 154 veces
OpenOffice 4.1.5 en Windows 10 - Ubuntu
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Registro nuevo en Informe

Mensaje por Longi »

Buenas!
En tu base de datos hay una cosa que me descoloca totalmente (por que estoy acostumbrado a trabajar de otra manera) y es que trabaja con una fuente de datos externa.
La idea del formulario, digamos, partido, era que en el principal, por ejemplo, se basase en una consulta de fechas, con agrupación, de tal modo que al escoger una fecha en el principal, saliesen todos los registros de esa fecha en el secundario. La consulta con agrupación haría un listado de las fechas que están en la tabla principal, pero sin repeticiones. Pues bien!, me he encontrado que esta fuente de datos no me permite una consulta con funciones de ningún tipo, por lo que la de agrupación tampoco.
Esto me hace desaconsejarte lo que te aconsejé la última vez.
En cuanto al informe, a mi no me da el problema que comentas. Mira a ver si sólo te lo da en Ubuntu y en Windows te va bien. Es posible que ORB no esté funcionando de lo mejor en algunas distribuciones de Linux (aunque no tengo ni idea de que esté documentado esto).
Ante la idea de que en Linux pueda no funcionar, miré de hacer un informe en Apache OpenOffice, con el sistema antiguo, pero como tu informe tiene varias alturas para cada registro, desistí (No es que no sea posible, pero la cantidad de trabajo que supone para una funete de datos que no comprendo y con resultado final incierto me desanimó del todo).
Ya te digo, a mi el informe no me da el error del que me hablas ( o no he sabido verlo), así que creo que al menos, en este hilo, no te voy a poder servir de mucha más ayuda.

Lo siento!

Un saludo! ;)
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
ugab
Mensajes: 141
Registrado: Mar May 17, 2011 9:46 pm

Re: Registro nuevo en Informe

Mensaje por ugab »

Buenas !!
"En tu base de datos hay una cosa que me descoloca totalmente (por que estoy acostumbrado a trabajar de otra manera) y es que trabaja con una fuente de datos externa."
Longi esto se debe a que es una Base de datos de un programa hecho en fox, yo copio la base una vez por semana para actualizar los datos.
En cuanto al informe en este momento estoy trabajando sobre Windows 10 y como te decia al ingresar un registro nuevo en el formulario, sí deseo ir al informe a imprimir no sale ningún dato.
Seguire investigando de que manera puedo realizar esta "planilla".
Quizas pueda probar con Calc con alguna planilla de reservas que anda por la vuelta y tratar de modificarla a mis requerimentos.
Dede ya como siempre gracias !!!!
OpenOffice 4.1.5 en Windows 10 - Ubuntu
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Registro nuevo en Informe

Mensaje por Longi »

Buenas!
Ya comenté que no termino de entender el mecanismo de esta base de datos, y tampoco tengo una visión clara de cómo se maneja el formulario, y me he imaginado alguna cosa.
Posiblemente el problema con el informe tenga que ver con cómo está la consulta, en la que tienes como criterio <>TRUE. Hay que tener en cuenta que si en la tabla (como es el caso) el boolean puede ser 'Si', 'No' o ninguno, de tal manera que son tres valores, así que mejor que <>TRUE uses FALSE.
El informe tiene agrupamientos para todos los campos, cosa que no es necesaria.
Me he permitido hacer unos cambios, de tal manera que cuando abre el formulario va a quedar en la última fecha que tiene la tabla, pero además tienes un desplegable en la parte superior en la que tienes todas las fechas que hay en la tabla (sin repetirse), y puedes seleccionar una de ellas, con lo que el formulario quedará filtrado para esa fecha.
También actué sobre el desplegable de fecha, de tal modo que si seleccionas una fecha que no está, entonces recalcula el desplegable de la parte superior, y también filtra el formulario para esta nueva fecha.
Supongo que algunas de las acciones hechas en estas modificaciones se salen de lo que se necesita para trabajar, pero pensé que así estaría mejor. Todo sería cuestión de anular las funciones.
AH! El informe se hace sobre otra consulta, y no necesita seleccionar de nuevo la fecha, ya va con el filtro del formulario.

A ver si te sirve algo.

Un saludo! ;)
Adjuntos
Nueva carpeta.7z
(85.16 KiB) Descargado 162 veces
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
ugab
Mensajes: 141
Registrado: Mar May 17, 2011 9:46 pm

Re:[RESUELTO] Registro nuevo en Informe

Mensaje por ugab »

Buenas !!
Longi desde ya mas que gracias por tu gran ayuda..
El mecanismo de la Base de Datos, resumiendo es así mas o menos.
En la empresa hay un sistemas hecho bajo el lenguaje de programación Clipper, maneja altas, bajas, modificaciones, reservas, etc etc.
Dentro de una de esas reservas esta la del Parque Social que nosotros tenemos, donde los asociados alquilan salones y/o barbacoas.
Este programa esta en red, y una vez por semana se imprimen Planillas para nuestro Parque, de esa menera los funcionarios saben que socios tienen reservado.
El Parque no esta en red, por eso se me ocurrio emular dicha planilla en Base.
La Base de Datos (PSOCIAL) es extraida del programa en Clipper.
El ejemplo que subiste esta genial, pero lamentablemente cuando queres agregar un registro en el formulario lo agrega sin inconvenientes, pero al dar click en impresion el informe se cuelga.
Agradezco tu gran ayuda, doy por resuelto, ya que creo que voy a comenzar a realizarlo en Calc, así que quizas me mude de foro..
Ya tendrè que pedir una mano..
Gracias
OpenOffice 4.1.5 en Windows 10 - Ubuntu
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: [RESUELTO] Registro nuevo en Informe

Mensaje por Longi »

Buenas!
Todo lo que has explicado ahora ya lo hiciste antes.
El 'no termino de comprender' es porque no entiendo el tener que andar con la consulta acotando una sola fecha, pero, sin embargo, sí que puedas cambiar la fecha de un registro.
Con el último ejemplo que te puse, una diferencia con lo que colgaste, y que quizá no te venga bien, es que cuando pones una nueva fecha, el sistema lo gurarda como un registro en una nueva fecha, es decir, no cambia la del registro que se estaba viendo.
Aparte de esto, en cuanto al informe, a mi se me colgaba por la existencia de la condición <>TRUE, lo cual quiere decir que no puede ser FALSE, pero tampoco NULL Es precisamente cuando cambias o añades un nuevo registro, cuando, según está la base de datos, te lo registra como NULL (Si vas a la tabla PSOCIAL te encontrarás la casilla de un color negro que no es ni falso ni cierto, sino nulo).
Quise pensar que lo que querías con el criterio que pusiste que le estabas pidiendo al sistema los FALSE, y no es así, lo que le pides es que sea oFALSE O NULL. En cuanto corregí esto, a mi sí que me salía el informe con el nuevo registro.
De todos modos, si lo dejas, pues.....En otra ocasión.


Un saludo! ;)
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
ugab
Mensajes: 141
Registrado: Mar May 17, 2011 9:46 pm

Re: [RESUELTO] Registro nuevo en Informe

Mensaje por ugab »

Longi..

Agregue un registro el 28/4/18 efectivamente en la base PSOCIAL estaba en negro el campo MODIFICADA, se lo quite y aún así sigue sin aparecer dicho día en el formulario.
Adjunto
Adjuntos
Nueva carpeta.rar
(86.19 KiB) Descargado 141 veces
OpenOffice 4.1.5 en Windows 10 - Ubuntu
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: [RESUELTO] Registro nuevo en Informe

Mensaje por Longi »

Buenas!
Me las he arreglado para que cada fecha (reserva) que se añada nueva a la tabla, quede con los Boolean como falsos, de tal manera que ya no tendría que haber esa interferencia.
Añadí un botón de opción que es para hacer nuevas reservas en la fecha en la que se está en ese momento:
Al abrir el formulario, el cuadro de lista superior te coloca en la última fecha registrada, pero puedes escoger cualquiera de las fechas que hay registradas hasta ese momento. No tiene más efecto que el de filtrar la tabla y sólo te salen los registros que hay para esa fecha que has seleccionado.
En el otro desplegable, que es de fecha, y que en un principio marca la misma fecha que el cuadro de lista superior, si seleccionas de forma voluntaria la misma fecha en la que estás, no pasará nada. Si seleccionas una fecha distinta, pero que ya está grabada, te llevará hasta ella y aparecerán los registros que hay para esa fecha. Si eliges una que no esté grabada, entonces te avisa y te da la opción de grabarla e ir hasta ella, ofreciendo así ya una fecha grabada en la siguiente reserva.
En caso de que rechaces la oferta, entonces te dejará en la últmia fecha que está grabada, como cuando arranca el formulario, con los registros que le corresponden.
Añadí el botón de opción de "Nueva Reserva" para el caso en el que si te colocas en una fecha ya registrada, puedes añadir una nueva reserva si quieres, y si no, simplemente estás consultando los datos.
Una vez cubiertos los datos, puedes dar al botón "Actualizar" y te graba todo (me parece que no se necesita el botón "Guardar"). Después ya puedes abrir el informe, que al dejar las casillas boolean en situación de "False", debieras poder ver la la nueva reserva en el informe, como también se ve en el formulario.

Espero que esta vez sea verdad, y no solo deseos.

Un saludo! ;)

AH!, quité en el formulario la opción de triple estado del boolean que tienes que se llama "BORRAR". Dejándolo en 'No' por si hiciese interferencias en un futuro, así solo quedarán las cosas grabadas como 'FALSE' o 'TRUE', pero no como 'NULL'
Adjuntos
Nueva carpeta (3).7z
Solo es un ejemplo. Siempre mejorable
(47.19 KiB) Descargado 151 veces
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
ugab
Mensajes: 141
Registrado: Mar May 17, 2011 9:46 pm

Re: [RESUELTO] Registro nuevo en Informe

Mensaje por ugab »

Buenas !!!

Longi agradezco de todo corazón la ayuda, la gran ayuda que me has dado.
Cuando el formulario inicia lo hace en la última fecha que tiene datos, sé deseo ingresar una reserva nueva en esa fecha, solo tengo que dar click
en la opción (Nueva Reserva) ?.
Bueno si es así como lo entendí, lo que trae es otra fecha (7/2/18)..
En ninguno de los casos imprime (no abre el informe).
Creo que todo tiene que ver con la estructura de la Base de datos..
Lo voy a dar por resuelto y como te he dicho anteriormente, me voy a volcar a Calc y hacer algo mas sencillo, sin la Base de datos.
Gracias !!!!!!!
OpenOffice 4.1.5 en Windows 10 - Ubuntu
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: [RESUELTO] Registro nuevo en Informe

Mensaje por Longi »

Buenas!
Si, la base de datos es complicada (por venir de clipper, no porque la hayas hecho más enrevesada de lo necesario- de eso me encargo yo-).
Además, mis años de experiencia se basan en el metódico proceder del ensayo-error (y como es evidente, en ello estoy). En este caso (el más visible por el momento) es que me equivoqué en el sitio de dónde coger la fecha, ya que tenía que cogerlo del desplegable superior, y no del inferior (lo que se ve en el inferior es tan solo una oferta de fecha, pero lo que realmente reside debajo es la fecha del último registro, por eso daba una fecha distinta de la propuesta).
Aunque empieces con calc, no desfallezcas y prueba cada versión que te mando (todo está que me equivoque y te vuelva a mandar una anterior), a ver si al final afinamos adecuadamente.
Ahora ya tendría que hacer reserva nueva si así se lo pides (botón de opción) en la fecha ofertada por el desplegable de arriba (de inicio coinciden los dos desplegables). Si en el desplegable de abajo seleccionas otra fecha, entonces, si tiene ya reservas hechas, se pondrá encima de esa fecha sin más, y entonces podrás pedir nueva reserva con el botón de opción. Si solicitaste fecha que no tiene reservas, te informará de que no hay reservas para esa fecha y te preguntará si quieres una reserva en ese día, y entonces, si aceptas, cambiará el desplegable de arriba, ya aparecerá la nueva fecha ofertada, y en el control de tabla te aparece una línea nueva(ya tiene la fecha puesta) y no se necesita el botón de opción, ya que generó una nueva reserva en la nueva fecha.
Las reservas solo se pueden rellenar en la parte izquierda del formulario, y cuando esté todo, entonces botón "Actualizar", y te preguntará si quieres guardar los cambios, a lo que amablemente dirás que sí.
Después de estar todo grabado podrás dar a imprimir, y tiene que salir el informe tal y como lo diseñaste.
Si diese la casualidad de funcionar el ejemplo, después habría que ir a la base, digamos, 'grande', y tendríamos que chequear lo de los boolean en negro, pero eso se puede hacer con una consulta de actualización. (Esto lo dejamos para cuando funcione el sistema.)
Lo dicho!, no desfallezcas, que imposible no es, simplemente que soy un tanto manazas, como va quedando claro.

Otro saludo y ánimo! ;)
Adjuntos
Nueva carpeta (4).7z
(47.38 KiB) Descargado 147 veces
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
ugab
Mensajes: 141
Registrado: Mar May 17, 2011 9:46 pm

Re: [RESUELTO] Registro nuevo en Informe

Mensaje por ugab »

Hola Longi!!!

Lo he estado probando y genera bien las reservas nuevas, así como si queres modificar o agregar algún dato a las ya existentes.
Lo que sigue sin hacer es la impresión, cuando se agrega una reserva a una fecha en las que ya hay o cuando generas una reserva nueva.
Mire la tabla general y los campos boleanos no estan marcados ni aparecen en negro..
Sigo buscando el porque, no hace el informe..
Gracias
OpenOffice 4.1.5 en Windows 10 - Ubuntu
Responder