Rellenar una tabla desde dos tablas distintas

Estoy desarrollando un proyecto para una asociación cultural la cual realiza diversos eventos al año (Excursiones, conferencias etc. Etc.). Mi pregunta es: Tengo dos tablas, en una datos personales, entre otros, (NumSocio, Nombre Apellidos) y en la otra (Evento, FechaEvento, FechaPago, Importe, e Indicaciones). Se trata de ir creando en una tabla, registro a registro, con los datos de las otras dos que sirva de histórico.

3 respuestas

Respuesta
2

Javier, si a un evento acuden uno o varios socios, yo haría un formulario con la tabla Eventos( ya que el evento es único, mientras que los asistentes son varios) y un subformulario con esa tabla que llamaremos Histórico, con los campos Id evento, NumSocio, FechaPago, Importe

De forma que a un evento acuden

Pepe Lopez......21/05/2023  200€

Carlos García  23/05/2023 150

Y a medida que vas rellenado el subformulario, te ponga, por ejemplo, en el formulario Eventos, el total( hasta ese momento) recaudado.

Saludos Julián.

La idea es conformar una nueva  tabla, cuyas líneas estén formadas por los campos de las otras dos tablas, para que, no solo formen un histórico, sino que mediante consultas e informes se puedan obtener listados de todo tipo, emitir recibos, subformularios individuales y colectivos, etc.

Los datos de la tabla1(Datos personales, tres campos ) se tomarían de la tabla Registro General de Socios que tiene 20 campos(no se si esto es posible mediante una consulta de creación de tabla u otro método) y el resto de campos de la tabla "Eventos" que se actualiza mediante un formulario al respecto.

Confírmame si tu primer nombre es Luis y te mando un ejemplo. Basta con que digas Sí o No.

Respuesta
1

La tabla mas sencilla seria una con tres campos

.- El socio (NumSocio)
.- El evento (Evento)
.- La fecha de pago (FechaPago).

A la nueva tabla se la relaciona con las tablas actuales por los campos coincidentes (NumSocio <--> NumSocio) y (Evento <--> evento)
La fecha de pago se toma del sistema (o se la digita), si hay fecha es que ha pagado y si no la hay (aún) no pago.

No se podrán borrar los registros de socios ni de la tabla eventos que tenga un dato relacionado en la nueva tabla (dejaría datos huérfanos), una relación correctamente diseñada puede evitarlo.

En las actuales un campo que indique si un socio o evento esta activo permitirá seleccionar a los los socios que pueden participar en los eventos.
En la de actividades, la fecha de su celebración (o el agotamiento de las plazas disponibles) seria el indicador valido de disponibilidad.

Con consultas, se pueden crear formularios para la gestión de las actividades
El histórico mas sencillo: no borrar los datos
De desear guardarlos (para borrar elementos en las tablas actuales) solo hay que decidir cuales y finalizado el evento se insertan en la tabla (histórico) que no necesitara de las dos actuales (por que le copia los datos a guardar)

Nota:
Si en la decisión final se opta por crear la tabla con el histórico, convendrá crear en un índice con el mínimo de campos que eviten insertar los mismos mas de una vez.

Saludos Enrique.

La idea es conformar una nueva  tabla, cuyas líneas estén formadas por los campos de las otras dos tablas, para que, no solo formen un histórico, sino que mediante consultas e informes se puedan obtener listados de todo tipo, emitir recibos, subformularios individuales y colectivos, etc.

Los datos de la tabla1(Datos personales, tres campos ) se tomarían de la tabla Registro General de Socios que tiene 20 campos(no se si esto es posible mediante una consulta de creación de tabla u otro método) y el resto de campos de la tabla "Eventos" que se actualiza mediante un formulario al respecto.

Para darte una respuesta verdaderamente útil necesitaría mas datos de lo que se pretende obtener.

Si solo es crear un histórico, en mi opinión ir directos al histórico no va en la línea adecuada, el histórico 'es pasado' y la manipulación de los datos (que van al histórico) ya finalizo, ya se disfruto del viaje o antes el reparto de plazas y el cobro de las mismas.

Con las tablas actuales y una mas que las complementa lo tienes solucionado, y puede tener mas de los tres campos que considere como el mínimo

Poner el precio de la actividad, cuando lo tiene como un dato en la definición de la actividad, solo tendría sentido si al precio se le aplica un modificador (por ejemplo una parte la asume la asociación o si se le incrementa a los que no son socios), con un único precio en la tabla, el total acumulado para esa actividad se logra en tiempo real multiplicando el ya conocido valor por el numero de participantes que van anotándose, dato que se obtiene en la tabla que hará de sub-formulario en un cuadro de texto cuyo origen de datos sea : =Count(*)

Con esas tres tablas se puede crear un formulario que basado en la tabla socios tenga como subformulario la tabla (llamémosle datos, que histórico no es adecuado) con la cual tiene un campo de relación y permite ver en cuantas actividades participa, participo o participara.

Si en lugar de la tabla socios como principal se utiliza la de eventos, seleccionado el evento se conoce que socios han participado y el resto de datos asociados.

En definitiva, si planteas un esquema de lo que necesitas y de lo que deseas, será mas fácil reutilizar lo que tienes y añadir lo que se necesite.

Nota: en las asociaciones suele haber eventos repetitivos (Yoga, baile ...) que pueden requerir otro tratamiento y que se puede dejar planificado ahora.

El histórico:

Con una consulta se asocian los socios, actividades fechas etc.. y se crea una tabla (la primera vez incluso la tabla se 'auto-crea' : consulta de creación de tabla) y con la tabla ya creada, según se finalicen las actividades, esa misma consulta (cambiada a consulta de datos añadidos o inserción) le va añadiendo registros.

Respuesta
1

No es necesario borrar adicione un campo en la segunda tabla que permita indicar si el evento está concluido, puede ser activo, SI/No

¡Gracias! 

La idea es conformar una nueva  tabla cuyas líneas estén formadas por los campos de las otras dos tablas, para que, no solo formen un histórico, sino que mediante consultas e informes se puedan obtener listados de todo tipo, emitir recibos, subformularios individuales y colectivos, etc.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas