Problema relacionando campos en dos formularios

Hola TodoExpertos! Estoy haciendo una BD en Access y tengo un problemita.
La BD es muy simple, hay una tabla CLIENTES y una tabla RECETAS relacionadas por el campo cod_cliente de forma uno a varios.
Hice un formulario para el alta de clientes, que permite además buscar clientes ya ingresados y tiene un botón para añadir recetas a cada cliente.
Cuando se presiona el botón "Añadir Receta", se abre el formulario de la tabla RECETAS, y hasta aquí marcha todo bien. El problema me surge porque en éste me pide que ingrese el código de cliente, y por supuesto es absolutamente impráctico recordar qué código tiene cada cliente.
¿De qué forma puedo hacer que, cuando presione el botón "Añadir Receta", pase el código de cliente que estoy visualizando en ese momento en el formulario Clientes al campo cod_cliente del formulario Recetas?
O si se pudiera hacer de una forma más simple, más que agradecida : )

1 respuesta

Respuesta
1
¿Cómo realizas la búsqueda del cliente? ¿A través de un cuadro combinado?
Y otra pregunta: una vez que seleccionas ese cliente, ¿se te muestran sus datos en el formulario?
Según lo que me contestes podré darte una solución u otra.
Los clientes se muestran pasando los registros de a uno con los botones 'registro anterior' y 'registro siguiente' que se pueden agregar con el asistente. Y sí, veo todos los datos.
¿Un subformulario ayudaría a hacerlo más sencillo? De ser así, ¿Cómo vincularía los campos?
Muchas gracias por tu respuesta!
Ahora ya lo tengo un poco más claro. Doy por supuesto que todos los pasos que te explico los sabes hacer. Evidentemente, si tienes algún problema en alguno, me lo comentas. Así pues te indico cómo hacerlo:
1- Coges el nombre de los dos formularios en cuestión. Supongamos que se llaman uno CLIENTES y otro RECETAS.
2- En el formulario CLIENTES, en vista diseño, editas el código asociado al botón "Añadir receta"
3- Escribes el siguiente código (lo que está en negrita. Tiene que ir entre la primera línea Private Sub ... y la última End Sub):
Private Sub...
    Dim intCod As Integer
    intCod = Me.cod_cliente.value
    DoCmd.OpenForm "RECETAS", , , , acFormAdd
    Forms![RECETAS].[cod_cliente].Value = intCod

End Sub
4- Ten en cuenta que ese botón ya debe tener código escrito. Si no ves muy claro cómo escribirlo "ahí dentro" pásame el código que te aparece y yo te lo adaptaré.
4- Para que lo entiendas, la variable intCod recoge el valor de código de cliente que tienes en pantalla / DoCmd... te abre el formulario recetas de manera que quede preparado para añadir un nuevo registro / La última línea le indica que el valor del código cliente del formulario RECETAS tiene que ser igual al valor del código cliente que tenías en el formulario CLIENTES.
5- Si por casualidad los nombres de tus formularios no fueran exactamente RECETAS ni CLIENTES sólo tendrías que cambiar esos nombres en el código por los que tú tienes.
Y eso es todo. Ya me dirás cosas si tienes algún problema.
Suerte!
Muchísimas gracias! Había intentado hacer algo similar pero poniendo solo 'intCod = cod_cliente', ya veo porqué no funcionaba :P
Ya funciona a la perfección, de nuevo muchas gracias por tu tiempo!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas