Access - Como se copia automaticamente los datos de una tabla a otra

   
Vista:

Como se copia automaticamente los datos de una tabla a otra

Publicado por Serch (2 intervenciones) el 25/03/2013 15:33:24
Hola a todos.

Bueno, antes de hacer la pregunta les voy a describir como es la BD.

Quiero hacer una BD para gestionar las muestras de aguas residuales que recojo y analizo (para el proyecto de fin de carrera).

La muestra consta de una fecha, una localización y uno (o varios) ensayos.

La primera idea que he tenido ha sido la de crear una Tabla llamada "Muestras" que tienen como campos: Id_Muestra; Fecha; Localización y Ensayos.

El campo Ensayos es de tipo cuadro combinado que me muestra todos los ensayos posibles que puedo hacer (ej, pH, conductividad....). Para ello, hay otra tabla "Lista_Ensayos" donde he puesto los ensayos posibles que puedo hacer y me coje los ensayos de esa tabla.

Luego he creado una tabla para cada ensayo. Es decir, tengo una tabla llamada "pH"; otra llamada "Conducividad" y así sucesivamente.

En estas tablas (por ej. para el pH) tengo: Id_pH; Id_Muestra y pH.

Mi problema es que no sé como hacer que Access me copie de manera automática el campo Id_Muestra de la tabla "Muestras" en la tabla "pH". O mejor tadavía, cómo copiar el campo pH en la tabla Muestras, ya que así los ensayos se grabarían en la misma tabla que la Muestra.

Lo que tengo en mente es que con el cuadro combinado de ensayos seleccione uno de ellos (ej. pH) y rellenar sólo el campo pH. Pero claro, no me rellena él solo el campo Id_Muestra y que es fundamental ya que si no, no podría saber el valor de ese pH de qué muestra es.

No se si me he explicado bien o mal.... Tengo la BD en el ordenador por si alguien la quiere ver. Me pone un mail y se la mando para que la vea.

Muchas Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Norberto

Como se copia automaticamente los datos de una tabla a otra

Publicado por Norberto (432 intervenciones) el 27/03/2013 17:16:16
Hola.

La mejor forma de resolver el tema es por medio de subformularios y, aunque yo habría separado los diferentes ensayos en sendas tablas, tampoco lo veo una barbaridad.

Yo haría lo siguiente:

Formulario simple con los datos de la tabla muestras.

Subformularios continuos para cada tipo de ensayo mostrando únicamente el valor. Estos formularios los insertas en el formulario principal y los haces invisibles. Los llamas SubFormPH, SubFormCondutcividad, SubFormDensidad...

En el evento Después de actualizar del combo y Al activar registro del formulario haces una llamada a un procedimiento que cambie la visibilidad del subformulario que coincida con la selección del combo. Algo así:

1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub VisibleSubform()
    Dim Ctr As Control
 
    For Each Ctr In Me.Controls
        If Left(Ctr.Name, 7) = "SubForm" Then 'El control es un subformulario
            If Mid(Ctr.Name, 8) = Me.Ensayos Then 'El subformulario se llama como la elección del combo
                Ctr.Visible = True
            Else
                Ctr.Visible = False
            Else
        End If
    Next
End Sub



Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como se copia automaticamente los datos de una tabla a otra

Publicado por Serch (2 intervenciones) el 27/03/2013 21:09:40
Umm

Lo voy a probar.

Tengo el borrador de la BD, mi mail es serchserch@hotmail.com

Me gustaría pasarte mi BD, para eso, como es mejor que aparezca mi mail que el tuyo, si me puedes enviar un mensaje... te lo paso.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como se copia automaticamente los datos de una tabla a otra

Publicado por Serch (1 intervención) el 29/03/2013 11:28:20
Hola Norberto.

Bueno, he intentado separar cada ensayo en cada tabla pero me falta poner bien las relaciones, es decir, especificar bien las tablas.

Lo que he pensado.
Tabla Muestras:
Id_Muestra (autonumerico)
Fecha

Tabla Ensayos
Id_Ensayos (autonumerico)
Id_Muestra

Tabla pH
Id_pH (autonumerico)
Id_Ensayo
pH

Si hago la relacion uno (Id_Muestras.Muestras) a varios (Id_Muestra.Ensayos) estoy diciendo que una muestra puede tener varios Id's de ensayos, es decir, varios ensayos. Correcto.

El problema viene con la siguiente relación, uno (Id_Ensayos.Ensayos) a varios (Id_Ensayo.pH) ya que puedo decir que un mismo valor de Id_Ensayo puede tener varios pH's; es decir, una misma muestra varios pH's!!!! Y como bien sabes esto es imposible.

Me estoy volviendo loco!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Norberto

Como se copia automaticamente los datos de una tabla a otra

Publicado por Norberto (432 intervenciones) el 09/04/2013 10:12:07
Hola Serch:

He recibido tu correo con la BdD y ya le ye echado un vistazo.

Lo que tienes hecho está genial: las tablas, las relaciones... pero te falta una tabla para recoger los valores de cada parámetro para cada ensayo-muestra.

Ya te la he creado y te estoy poniendo a punto los formualarios. Esta tarde te la mando a ver que te parece.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar