Llenado simultáneo de dos campos a partir de otro

Tengo dos tablas. Una con 5 campos y otra con 7 campos. Y tengo la necesidad de relacionarlas por medio de clave de campos múltiples, digamos que tres campos de la primera tabla están relacionado con tres campos de la segunda tabla. Mi deseo es que a través de dos formularios vinculados, al llenar los tres campos que hacen parte de la clave de la primera tabla, se llenen de forma simultánea y similar en la otra tabla. Digamos que llené el formulario de la tabla1 y guardo el registro, cuando doy click al botón que me lleva al formulario vilculado de la tabla2 quiero que tres de esos campos ya estén llenos de forma automática y sean iguales para todos los registros que vaya a meter, pues es una relación uno a muchos.
Espero que me haya hecho entender y espero tu ayuda.

1 Respuesta

Respuesta
1
Por lo que cuentas, el formulario 2 deberías ponerlo como subformulario del primero.
Otra forma que se me ocurre es que en un módulo definas 3 variables globales: gbl1, gbl2 y gbl3. Al pulsar el botón para ir al formulario 2 actualizarías estas variables.
Después, en el formulario 2, tendrías que añadir este código:
Private Sub Form_Current()
    If Me.CurrentRecord > Me.Recordset.RecordCount Then
        Me.campo1 = gbl1
        Me.campo2 = gbl2
        Me.campo3 = gbl3
    End If
End Sub
Hola de nuevo. Te cuento que soy un poco novato en la programación, así que te pediría un favor adicional. Definí las variables así:
Option Compare Database
Option Explicit
Public gbl1 As String
Public gbl2 As String
Public gbl3 As String
¿Esto está bien?
Lo que no sé es en qué parte del formulario2 poner el código que me diste para actualizar estas variables y si lo que llamas campo1 campo2 y campo3 son los nombres de los campos del formulario1 o del formulario2.
Intenté otra forma que fue en propiedades del textbox de uno de los campos del formulario2 en donde dice Origen del control poner lo siguiente:
=nocheyniebla!COD_FUENTE
Donde nocheyniebla es el nombre de la tabla1 y COD_FUENTE es el nombre del campo de la tabla1 que quiero que sea igual a uno de los campos de la tabla2 que está relacionada con la tabla1, pero me sale en el textbox lo siguiente: #¿Nombre?
Espero tu ayuda y muchas gracias
Yo prefiero definirlas como 'Global gbl1 as string'. Con Public no siempre me han hecho lo que quiero (cosas raras de Microsoft).
Campo1, campo2 y campo3 son los nombres de los campos de tu segundo formulario.
El código que te puse tiene que ir en el formulario2 (desde el diseño pulsa <Alt><F11>.
Si no lo consigues, mandame la base de datos en formato comprimido a [email protected] (en versión hasta 2003).
Ya te envíe la tabla
Ya he realizado esto pero cuando voy a guardar un registro en el fomulario2 me sale un aviso que dice lo siguiente:
No se puede agregar o cambiar el registro porque se necesita un registro relacionado con la tabla mitabla.
¿Qué puedo estar haciendo mal?
Ya te he enviado la base de datos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas