Access - Escribir el campo que relaciona dos formularios

 
Vista:

Escribir el campo que relaciona dos formularios

Publicado por oretania (12 intervenciones) el 09/08/2006 10:09:07
Hola os planteo un problemilla:

Tengo un formulario inicial tabular al que por cada registro al darle un boton se accede a otro formulario donde se muestran los elementos de otra tabla asociada en otro formulario tabular. Los registros de ese segundo formulario, claro está, estan asociados al registro desde donde pulse el boton en el pirmer formulario.

El problema es,al acceder al segundo formulario desde un boton de un registro del primero, si quiero introducir un nuevo registro, siempre tengo que escribir el identificador del registro del primer formulario (que es el campo que relaciona ambas tablas), lo cual es un poco incomodo porque es un valor autonumerico que no significa nada...

No hay alguna forma de que al abrir este segundo formulario no haga falta al introducir un registro nuevo tener que escribir el identificador del registro asociado de la otra tabla? Se que planteando el segundo formulario como un subformulario no habria problemas, pero no quiero que sea un subformulario, quiero otro formulario distinto! 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

RE:Escribir el campo que relaciona dos formularios

Publicado por Jesús (8 intervenciones) el 09/08/2006 12:00:13
Si hay una solución, tu problema es que abres el formulario con un boton y ese formulario no sabe cual es la clave ajena del primer formulario.
la solucion es de tu formulario inicial le das al boton y tiene que mandarte a otro formulario donde tenga como primer formulario el mismo registro del formulario inicial, y luego el subformulario tabular relacionado con el principal.
Sabes por donde voy? de esa forma cuando añadas un registro como será un subformulario del formulario secundario principal tendras resuelto el problema porque se relacionará automáticamente.

sera asi:

FORMULARIO INICIAL FORMULARIO SECUNDARIO PPAL

tabla1.registro 1 BOTON --> tabla1.registro 1

SUBFORMULARIO
tabla1.registro 2 tabla2.registro1
tabla2.registro2

tabla1.registro 3

el problema es que haces directamente de formulario inicial a "subformulario" que en este caso hace de formulario secundario porque no esta como subformulario de otro principal con el registro 1.

Espero haberte solucionado el problema.
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

RE:Escribir el campo que relaciona dos formularios

Publicado por Luis Javier (3 intervenciones) el 10/08/2006 04:28:10
Sabes que tengo otra solucion a tu problema, que es de la siguiente forma:
Tienes tu form principal, luego un boton que abre otro form, voy bien?, bueno, a es boton le asignaste que te abriera el form secundario, pues bien, a ese form, al secundario, en el evento OPEN, escribe la siguiente rutina :

If EstáCargado(<Form principal>) Then
<IdentificadorPropio>.DefaultValue = [Forms]!<Form principal>!<IdentificadorPropio>
End If

El function EstáCargado es el siguiente, el cual debes cargar creando un nuevo modulo con el nombre que quieras, copiar esta rutina y guardarlo, quedara public automaticamente:

Function EstáCargado(cadNombreFormulario As String) As Boolean

' Determina si un formulario está cargado.

Const conDiseñoFormulario = 0
Dim entX As Integer

EstáCargado = False
For entX = 0 To Forms.Count - 1
If Forms(entX).FormName = cadNombreFormulario Then
If Forms(entX).CurrentView <> conDiseñoFormulario Then
EstáCargado = True
Exit Function ' Salir de la función al encontrar el formulario.
End If
End If
Next
End Function

Entonces, cuando pregunte si estacargado, ejecutara esta rutina, encontrara el form principal, tomara el Identifiador, que es el que quieres se abra por defecto cuando quieras ingresar un nuevo registro.

Me seguiste?? espero que si, cualquier duda, escribeme
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

RE:Escribir el campo que relaciona dos formularios

Publicado por mi menda (1111 intervenciones) el 11/08/2006 05:34:27
Mas sencllo "Sin codigo". En el campoID del segundo form, pon en la propiedad valor predeterminado:
= Forms!NombreForm1!CampoID
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