Rellenar un campo en función de lo que se consigne en un cuadro de texto de un formulario

Tengo una tabla auxiliar que contiene códigos postales, municipios y provincias en tres campos, (CODIGOS_POSTALES), y otra en la que debo rellenar los datos de ciertas personas (SOLICITANTES). Utilizo un formulario para rellenar esta última tabla (F_SOLICITANTES). Pretendo que al rellenar el valor del código postal se rellenen automáticamente municipio y provincia, tomándolo de la tabla auxiliar.

Lo he hecho en algunas ocasiones utilizando una consulta que tome como parámetro el contenido del cuadro del formulario donde consigno el código postal y un procedimiento de evento que asigne el valor al actualizar el registro, pero tengo esto un poco oxidado y las ideas difusas. ¿Podría alguien ayudarme?

1 Respuesta

Respuesta
2

Suponiendo que en tu formulario F_SOLICITANTES los cuadros de texto se llamen codigo_postal, municipio y provincia, has de programar, en el evento después de actualizar del cuadro de texto codigo_postal, este código:

Private Sub codigo_postal_AfterUpdate()
If Nz(Me.codigo_postal,"")="" Then
Me.municipio=""
Me.provincia=""
Else
Me.municipio=DLookUp("MUNICIPIO";"CODIGOS_POSTALES";"CODIGO_POSTAL='" & Me.codigo_postal & "'")
Me.provincia=DLookUp("PROVINCIA";"CODIGOS_POSTALES";"CODIGO_POSTAL='" & Me.codigo_postal & "'")
End If
End Sub

He supuesto que el campo CODIGO_POSTAL de la tabla CODIGOS_POSTALES está definido como texto. SI fuera de tipo numérico, la condición del DLookUp quedaría así:

"CODIGO_POSTAL=" & Me.codigo_postal 

Cambia los nombres por los que tu tengas, y te debería funcionar.

¡Mil gracias! Funciona.

Sólo he tenido que cambiar los separadores de DLookup (, en lugar de ;).

Creo que así es mucho más fácil que como lo he hecho en otras ocasiones.

Muchas gracias de nuevo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas