En formularios, el valor de un campo es automático en función de otro de la misma tabla

una tabla con 3 campos [UF], [UF_TXT], [HORAS]. En un formulario, incorporo los dos primeros campos, y necesito que cuándo escriba el valor en el campo [UF], el valor del campo [UF_TXT] aparezca sin necesidad de teclearlo.

1 respuesta

Respuesta
1

tabla = “MITABLA”

Campos

UF

UF_TXT

HORAS

Formulario “MI FORMULARIO”, basado en la tabla "MITABLA"

En el campo UF, en el procedimiento Después de actualizar coloca el siguiente código

Private Sub uf_AfterUpdate()

                UF_TXT = DLookup("UF_TXT", "MITABLA", "UF=" & Me![UF])

End Sub

Pruébalo

Muchas gracias. Ahora el siguiente paso  sería:

Estoy en Formulario "GENERAL"  que incluye los campos de "MITABLA" [UF],[UF_TXT],[HORAS] MÁS los campos [U_A] y [UA_TXT] de la tabla "MITABLA2". 

¿Cómo sería el código para que los valores de los  campos [UF_TXT] y [UA_TXT] apareciesen al teclear [UF] y [U_A]. ?

Muchas gracias.

Hola, creo que no expliqué bien el caso. 

Tengo un formulario basado en tabla "GENERAL",  estoy en Formulario GENERAL y tengo los campos 

UF

UF_TXT

HORAS

y

UA

UA_TXT

HORAS

aquí es donde varía el planteamiento: Los valores de los campos UF y UF_TXT  están en la tabla "UNIDADES" y los pongo en el campo del formulario mediante un combo seleccionando el elegido.

Los valores de los campos UA y UA_TXT están en la tabla "APRENDIZAJE" y los pongo en el campo del formulario mediante un combo seleccionando el elegido.

Ahora si,  cómo tengo que hacer para que en el formulario GENERAL, al teclear UF ó UA  aparezcan los valores UF_TXT y UA_TXT , respectivamente.

Disculpa la confusión

Gracias.

En el formulario General tienes

1 combo de nombre UF

1 combo de nombre UA

Sería la misma sintaxis, con Dlookup, en el evento después de actualizar en cada uno:

Private Sub uf_AfterUpdate()

                UF_TXT = Dlookup("UF_TXT", "UNIDADES", "UF=" & Me![UF])

End Sub

Private Sub UA_AfterUpdate()

                UA = DLookup("UA", "aprenizaje", "UA=" & Me![UA])

End Sub

Así es como lo he comprendido, cualquier duda, escribes.

No me sale, voy a intentar plantearlo otra vez:

 tengo dos tablas:

Tabla "UDF" con los campos:[UF],[UF_TXT]

Tabla "UAPR" con los campos:[UA],[UA_TXT]

En estas tablas registro una serie de valores.

creo una tabla "GENERAL" con los siguientes campos:

[U_F], [U_F_NOMB],[U_A],[U_A_NOMB],[FECHA]...ECT,,

El campo [U_F] tiene definido la búsqueda del valor(en linea "origen de la fila"):SELECT UDF.UF FROM UDF;

El campo [U_F_NOMB] tiene definido la búsqueda del valor(en linea "origen de la fila"):SELECT UDF.UF_Txt FROM UDF;

... igual para [U_A]....

Ahora empiezo la actividad diaria y para registrarla creo un formulario basado en la tabla GENERAL ,

y la cuestión sigue siendo la misma: ¿como hago para que cuándo en el formulario GENERAL, en el campo [U_F] , seleccione un valor de los que aparecen en el cuadro combinado, en el campo [U_F_NOMB] aparezca el valor correspondiente a UF_Txt

Las tablas no tienen ninguna relación definida entre ellas.

Gracias.

Perdón por la demora, según lo que entendí podrías bajarte esta bd y ver si es lo que necesitas, suerte.

http://www.mediafire.com/download/uckblx5hbh11cve/ejemplo+dlookup.accdb 

¡Gracias! 

Hola, el ejemplo está muy pedagógico, pero observo que al rellenar datos en el formulario GENERAL, no se añaden registros en la tabla GENERAL. Me podrías dar un poco de luz al asunto ?

Muchas gracias.

Haz habilitado las opciones de seguridad al iniciar access, lo he probado ingresando datos al formulario general y en efecto los ha guardado en la tabla con el mismo nombre.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas