Sincronizar Formulario-subformulario

Access 2007
FORM_PRINC con cod_form_princ (clave principal-Autonumérico) más otros campos, y SUBFORM con cod_form_princ (clave ajena-Número), cod_subform (clave principal-Autonumérico) y otro_campo (Texto).
Cómo consigo, a través de botón de comando, no sólo llamar al SUBFORM desde FORM_PRINC, sino que cod_form_princ (clave ajena-Número) del SUBFORM muestre automáticamente el cod_form_princ (clave principal-Autonumérico) del FORM_PRINC.
He visto algunas soluciones en el foro, pero ninguna me da resultado. No domino la codificación, por lo que tendría que copiar y pegar la solución, modificando lo necesario.

1 respuesta

Respuesta
1
Genera un nuevo proyecto de base de datos y mira los ejemplos, utiliza lo que son macros incrustadas para un mejor manejo ya que no conoces bien lo que es codificación según me comentas. Ahora bien, si te quieres arriesgar y comenzar a entender código, utiliza un evento click en el botón que crees:
Dim ID as Integer
ID = Forms!NombreFormulario!campo
DoCmd.OpenForm "nombredelForm", acNormal, , "Id=" & ID, acFormEdit, acDialog
O utiliza los asistentes de la siguiente manera: Crea un formulario en base a tu tabla1, luego crea un botón que vas a crearlo desde el cuadro de herramientas de Access y dale como opción Abrir Formulario, y define los criterios que va utilizar para abrir tu SubFormulario de acuerdo a cada Id. O simplemente crea un subformulario desde el Cuadro de Herramientas.
Me comentas como te va con las recomendaciones.
La 2ª opción con el asistente ya la había intentado sin resultados. He probado con las líneas de código que me has mandado, pero al pinchar en el botón me da "Error de compilación: el procedimiento externo no es válido". ¿Alguna sugerencia?
Con la Base de Datos de ejemplo Northwind he probado y el siguiente código funciona correctamente (evento click de un commandbutton):
'-------------------------------
DoCmd.OpenForm "Detalles de pedido", acNormal, , "IdPedido = IdPedido", acFormEdit, acDialog
'-------------------------------
Cambia los datos en negrita poniendo el nombre de tu formulario y el campo por el cual quieres abrir como Id.
Diego: se me ha "caído" todo el código de la base de datos. Cualquier código generado para cualquier evento me da el mismo "error de compilación". Voy a intentar recomponer todo esto y probar tus soluciones. De momento no finalizo y ya te informaré. Te agradezco tus respuestas.
Verifica en Herramientas/Referencias si están marcadas las referencias que utilizas, o si está instalado correctamente tu office. También prueba 'Compilando' tu proyecto antes de utilizar el commandbutton, en Depuración.
Por último verifica que tienes los permisos correspondientes de lectura/escritura ya sea como usuario avanzado o usuario administrador del windows.
Otra cosa no veo que pueda ser.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas