Tengo dudas sobre asignación códigos postales a poblaciones en una base access

Tengo una tabla de clientes y una tabla diferente donde se incluyen Municipios, CP y Provincia, mi intención es en un formulario elegir una población para un cliente y que automáticamente le asigne el CP y la PTROVINCIA correspondiente, he hecho varias pruebas pero no lo consigo, el problema es que no puedo modificar la estructura de las tablas al ser de un cliente

1 respuesta

Respuesta
1

En el evento "Después de actualizar" del campo población (o municipio, no sé qué nombre le tendrás) del formulario le generas el siguiente código (tendrás que adaptarlo a los nombres que tú tengas):

Private Sub Poblacion_AfterUpdate()

Me.CP=Nz(DLookUp("CP","TablaPoblaciones","Municio='" & Nz(Me.Poblacion,"") & "'")

Me.PROVINCIA=Nz(DLookUp("Provincia,"TablaPoblaciones","Municio='" & Nz(Me.Poblacion,"") & "'")

End Sub

Gracias Sven no me funciona pero deduzco que es culpa mia, te paso como lo he puesto, a ver si me peudes ayudar,

en la tabla CLIENTES  los campos son Municipio, CP y Provincia

en la tabla MUNICIPIOS(CP) los campos son Nombre Municipio, CP y Provincia

Yo he puesto:

Private Sub Municipio_AfterUpdate()
Me.CP=Nz(DLookUp("CP","MUNICIPIOS","Nombre Municipio='" & Nz(Me.Municipio,"") & "'")
Me.PROVINCIA=Nz(DLookUp("Provincia,"MUNICIPIOS","Nombre Municipio='" & Nz(Me.Municipio,"") & "'")
End Sub

Espero tu respuesta y gracias

Private Sub Municipio_AfterUpdate()
Me.CP=Nz(DLookUp("CP","MUNICIPIOS(CP)","[Nombre Municipio]='" & Nz(Me.Municipio,"") & "'")
Me.PROVINCIA=Nz(DLookUp("Provincia,"MUNICIPIOS(CP)","[Nombre Municipio]='" & Nz(Me.Municipio,"") & "'")
End Sub

A ver así, me dices.

No hace nada,-Seguro que es culpa mía, si fuera posible remitirte la base y que le echases un vistazo al formulario me ayudarías mucho ya que tengo que rpesentarla el 16/11, mi correo patrticular es [email protected].

Muchisimas gracias y disculpame

Error de sintaxis aquí:

Me.CP=Nz(DLookUp("CP","MUNICIPIOS(CP)","[Nombre Municipio]='" & Nz(Me.Municipio,"") & "'")

Mándame una copia comprimida en rar o zip aquí: [email protected]

Me viene devuelto, mándame mejor un correo al mio y así vep tu dirección cofrrectamente, tyodo y que lo vuelvo a intentar ahora

Ese correo no me permite enviar mensajes, solo recibirlos:

[email protected]

¿La DB pesa mucho? ¿La estás mandando comprimida?

mide 7 mb, pero me da un error de tu correo.

Pues el correo funciona perfectamente (lo acabo de comprobar)

Sube la BD a dropbox, filebig.net... y ponme aquí el enlace de descarga o mándamelo al correo, en vez de la BD

En el pc no tengo dropbox, solo drive, de todas formas te adjunto una imagen de las relaciones con los nombres de los campos, a ver si así me peudes ayudar.

Aunque paralelamente intentare ahora enviártelo por dropbox

También me vale por drive, o cualquier otro sistema

Tu tabla se llama MUNICIPIOS y no MUNICIPIOS(CP)...

Private Sub Municipio_AfterUpdate()
Me.CP=Nz(DLookUp("CP","MUNICIPIOS","[Nombre Municipio]='" & Nz(Me.Municipio,"") & "'")
Me.PROVINCIA=Nz(DLookUp("Provincia,"MUNICIPIOS","[Nombre Municipio]='" & Nz(Me.Municipio,"") & "'")
End Sub

¿En qué formulario quieres poner el código?

En el formulario de entrada de datos de empresa

Vale, ya vi mi error, me faltaba terminar la función Nz().

Además, tienes que poner el código en el cuadro combinado, porque entiendo que es donde seleccionas el municipio:

Private Sub Cuadro_combinado39_AfterUpdate()
Me.CP = Nz(DLookup("CP", "MUNICIPIOS", "[Nombre Municipio]='" & Nz(Me.Municipio, "") & "'"), "")
Me.Provincia = Nz(DLookup("Provincia", "MUNICIPIOS", "[Nombre Municipio]='" & Nz(Me.Municipio, "") & "'"), "")
End Sub

Otra opción sería esta, sin usar funciones:

Private Sub Cuadro_combinado39_AfterUpdate()
Me.CP = Me.Cuadro_combinado39.Column(1)
Me.Provincia = Me.Cuadro_combinado39.Column(2)
End Sub

Gracias, ahora me da este error.

De verdad que siento las molestias.

Eres un maestro, compañero, por fin funciona. Si en alguna ocasión vienes a Barcelona o estas cerca avisame, me encantasria conocernos y tomar unas cervezas(Pago yo...je je)

Me alegra que lo hayas solucionado. Hasta otra!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas