Creación de un histórico

El otro día te estuve comentando unas cosas sobre la base de datos que estoy haciendo. Ahora me surge otra duda y por eso vuelvo a contactar contigo. Verás, en esta base de datos, querría hacer un histórico pero no se como hacerlo ni que campos tengo que incluir. He metido en una tabla "histórico" todos los datos que son susceptibles de ser guardados como histórico, pero me surge la duda de como hacerlo para guardar la modificación de un dato que ya estaba introducido en una tabla. Por ejemplo, si un socio pide la modificación de su tipo de cuota para que pase a ser del tipo B en vez del A, pero queremos guardar que un día fue del tipo A, ¿cómo relacionaría este campo de tipo de cuota con el que está creado en otra tabla? ¿Seria una relación entre tablas sin más? Espero que me puedas aclarar alguna cosa, si necesitas que te diga alguna cosa más pregúntamela porque no se si me he explicado muy bien.

1 Respuesta

Respuesta
2
En las dos, ya que, supongamos que hoy tiene la cuota A, pero mañana la cambia y pasa a B. te interesa saber que tal día cambio la cuota A(guardada en histórico) por la cuota B(guardada en la tabla origen del formulario). Otro día cambia a la C, pues guardas en el histórico el día que cambió de la B a la C, etc.
Pero siguiendo este ejemplo, ¿el campo tipo de cuota debería de estar en las dos tablas? ¿La de socios y la de histórico? ¿O con que este solo en una basta?
Lo normal es que en un histórico guardes los datos que te interesan guardar, parece de Perogrullo, pero es que es así. Piensa en que cosas de un socio te interesa guardar, y con eso y con un campo Fecha, en valor predeterminado ponle Fecha() para que te guarde los registros con la fecha del día en que se guardaron, creas la tabla, y vamos a llamarla Histórico. Vamos a suponer que tiene los campos NombreSocio, TipoCuota y yoquesé. En el formulario Socios, que depende de la tabla del mismo, supongamos que tiene esos mismos campos entre otros. Puedes poner un botón de comando y en sus propiedades-eventos-al hacer clic, con el generador de código crear un procedimiento de evento y entre Private Sub...y End Sub poner
Docmd. Runsql"Insert into histórico (nombresocio, tipocuota, yoquesé)values(nombresocio, tipocuota, yoquesé)"
Un día quieres cambiarle el tipo de cuota, lo que te interesa es guardar el valor antiguo, ya que el nuevo lo tienes en el formulario y tabla Socios. Antes de hacerlo pulsas el botón y te guarda en la tabla histórico los valores antes del cambio y con el día en que se hizo el cambio, y como tienes el nombre del socio, lo tienes todo. Lo mismo sería si en vez de Nombresocio tienes un campo IdSocio, CodSocio, DNI, en fin algo que identifique única y exclusivamente a ese socio en particular.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas