Búsqueda código postales en access

Tengo una base en Access con dos tablas, una de ellas contiene poblaciones y códigos postales.

Elaboro un funcionario en el cual, de la segunda tabla, introduzco NOMBRE, DIRECCIÓN, cuando llego a población creo un CUADRO COMBINADO que me muestra los valores de la tabla donde están las poblaciones, selecciono la correcta y hago que el campo POBLACIÓN tome el valor del seleccionado de la otra tabla.

Pero NO CONSIGO hacer que el campo CP coja el valor correspondiente al de la población seleccionada(Valor que se encuentra en el campo CP de la otra tabla)

1 respuesta

Respuesta
1

Supongamos que tu cuadro combinado se llama cboPoblacion (Propiedades -> Pestaña Otras -> Nombre).

Supongamos que el campo del código postal se llama [CP]

Lo que tienes que hacer, en el evento "Después de actualizar" del combo (Propiedades -> Pestaña Eventos) es generarle el siguiente código:

...

Private Sub cboPoblacion_AfterUpdate()
If IsNull(Me.cboPoblacion.Value) Then Exit Sub
Me.CP.Value = Me.cboPoblacion.Column(1)
End Sub

...

Doy por supuesto que, en el combo, la primera columna corresponde a la población, y la segunda corresponde al código postal.

A ver si así te funciona.

Creo que vamos por buen camino, ya suponía que el tema pasaba por algo parecido, no obstante, una pequeña duda, el código a generar supongo que debo incluir en las propiedades del campo CP para que coja el valor del correepondiente código postal según lo que se seleccione en el cuadro combinado (el nombre del cuadro combinado es cuadrocombinado6).

¿Tengo que darle al campo CP algún valor predeterminado o origen de control concreto para que funcione?

No tienes que hacer nada sobre el campo [CP]. Todo debe estar sobre el combo.

La idea es que, a nivel de usuario, selecciones un valor en el combo y, en función del valor seleccionado, se te rellene el campo [CP], y listos.

Un saludo,

Neckkito

Agradezco mucho tu rápida respuesta, antes de nada felicitarte por tu web, es muy buena.

He introducido en código en el evento "después de actualizar" del campo cuadrocombinado6, pero no me funciona, quizás este mal redactado, pero el texto que he puesto es:

Private Sub cuadrocombinado6_

AfterUpdate() If IsNull(Me.cuadrocombinado6.Value) Then Exit Sub Me.CP.Value = Me.cuadrocombinado6.Column(1)

End Sub

Gracias

Si no te funciona, inicialmente, puede ser por dos motivos:

1.- Tienes bloqueada la ejecución dé código. Para arreglar eso mira este artículo: http://goo.gl/2SI6F

2.- Puede ser que los nombres no sean correctos. Comprueba los nombres en el código y en el formulario (Propiedades del control -> Pestaña Otras -> Nombre).

Si aún así no te funciona prepara una miniBD (o tu propia BD, como prefieras), la comprimes (por favor, en zip o rar) y la cuelgas en www.filebig.net. Te dará un enlace de descarga. Me pasas ese enlace y yo le echo un vistazo.

te paso la BD veras que es muy simple, pero es para utilizar la nmuestra en otra de mayor, a ver si ves algo raro.

Muchísimas gracias

Upload completed
File uploaded: Base de datos1.rar
Please copy and sabe the following links:
Download link: Forum code: Blog code: http://www.filebig.net/files/JY3zYADpcv' type="text">Delete link:

Vamos a ver...

Los nombres de controles que estén relacionados con el código deben ser EXACTAMENTE iguales. Si, encima, son nombres con espacios, o bien se deben encerrar entre corchetes o bien los espacios en blanco deben ser unidos por un subguión.

Lo más fácil, en este caso, es ir escribiendo el código y dejar que la ayuda contextual de VB te vaya indicando qué es lo que se puede escribir.

Tu código quedaría así:

...

Private Sub Cuadro_combinado6_AfterUpdate()
If IsNull(Me.Cuadro_combinado6.Value) Then Exit Sub
Me.cp.Value = Me.Cuadro_combinado6.Column(1)
End Sub

...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas