Vincular un formulario y un subformulario

Soy totalmente nueva en access 2000, lo que sucede es que tengo un formulario principal llamado Grupos, y un subformulario llamado trayectos, ambos están relacionados por un campo llamado codigo_grupo.
El subformulario trayectos es muy cargado para verse en pantalla, entonces lo que deseo hacer es crear un botón en el formulario Grupos y al presionarlo me llame el subformulario Trayectos, pero necesito que cuando el subformulario se muestre en pantalla me conserve el código del grupo al que hace referencia el formulario Grupos, así si inserto un nuevo registro me conserve el código del grupo del formulario principal Grupos y no me lo coloque como si fuera un campo nuevo.

3 Respuestas

Respuesta
1
En el formulario principal
Tienes que crear un botón
En cuyo evento click pones:
docmd.openform "NOMBREFORMULARIOTRAYECTO",,,"CODIGO_GRUPO"= me.CODIGO_GRUPO
(Ajusta el nombre del formulario y los campos)
En el formulario trayectos en el evento antes de insertar pones:
me.CODIGO_GRUPO.value=Forms![NOMRBE_FORMULARIO_GRUPO]!CODIGO_GRUPO
(De nuevo tienes que ajustar los nombres de los campos y del formulario)
Respuesta
1
Perdón la demora. Lo que deberías hacer es lo siguiente:
1. En el form principal (en tu caso Grupos) creá un botón (le llamemos Bot1), en vista diseño de formulario, claro está
2. Hacé doble clic en bot1 y en la solapa "Eventos" hacé clic en ... de "Al Hacer clic" y seleccioná "Generador de código"
3. Te aparecerá una ventana con lo siguiente:
Private Sub Bot1_Click()
End Sub
4. entonces entre "Private..." y "End Sub" agregá el siguiente código:
On Error GoTo Err_Bot1_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "Trayectos"
stLinkCriteria = "[codigo_grupo]=" & Me![codigo_grupo]
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_Bot1_Click:
Exit Sub
Err_Bot1_Click:
MsgBox Err.Description
Resume Exit_Bot1_Click
De esta manera al hacer clic en Bot1 del form Grupos se abrirá el subform Trayectos
con la correspondencia que vos querés. Cualquier cosa no dudes en volver a consultar. No te olvides de calificar la respuesta.
Respuesta
1
Ya tienes solucionada la vinculación de un formulario y el otro (al pulsar el botoncito te abre el formulario con los trayectos del grupo).
Ahora te falta un "toque", en el control que tiene el código_grupo, en su propiedad "valor predeterminado" mete:
forms![fomulariogrupo]![codigo_grupo]
(O como se llame), si no funciona ponle un = delante (ahora no recuerdo si lo lleva o no), y me cuentas como ha ido por si hay que pasar al "plan B"...
Hola antemano gracias por haber contestado mi solicitud.
Te cuento que no me funciono.. yo tengo el formulario Grupos y el subformulario Trayectos_detalle, cree un boton y le di en el evento clic esta instruccion docmd.openform "Trayectos_detalle",,,"Id_GRUPO"= me.Consecutivo_GRUPO.
El subformulario Trayectos detalle en la fila de origen saca la informacion de la tabla TRAYECTOS, luego en el evento antes de insertar escribo la siguiente instruccion me.ID_GRUPO.value=Forms![BDGrupos1]!Consecutivo_GRUPO, luego le doy en el cuadro de texto de ID_grupo del subformulario Trayectos_detalle le escribo en el valor predeterminado forms![BDGrupos1]![Consecutivo_grupo]
Pero no me funciona... no me saca la información verdadera que hay para un grupo especifico... y ademas cuando le doy insertar uno nuevo... no me mantinene el código del grupo asociado...
Ayudame... Gracias
Ese evento se produce ANTES DE INSERTAR, como su nombre indica... :D no puedes Asignar valores a un registro que TODAVÍA NO EXISTE.
Por eso te sugería la posibilidad de usar el "valor predeterminado".
Haz una cosa. Deja solo el predeterminado, y prueba a poner un = delante, así:
=forms![BDGrupos1]![Consecutivo_grupo]
A ver que tal rula y me lo cuentas...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas