Como mostrar campos relacionados población y provincia

Tengo una duda de como hacer esto

Tengo dos bases de datos

Contactos (varios campos y entre ellos población, provincia, cp)

Poblaciones (id, población, provincia, cp) <- campos (tengo toda la base de datos de españa) cada linea de esta base de datos, su poblacion esta con su provincia y su cp

Al dar de alta el contacto al teclear la población. Me sale correcto ya que este campo es un campo tipo búsqueda para que busque en la base de datos de población

Pero como hago para que me muestre automáticamente su provincia y su cp.. ¿qué están en la misma línea de la base de datos de población?

2 respuestas

Respuesta
2

Donde dices dos bases, entiendo que te refieres a dos tablas. Si es así, en el evento Después de actualizar del control donde eliges o escribes la población, al que para el ejemplo llamaremos igual Población crea un procedimiento de evento y entre Private Sub y End Sub escribe

Provincia=dlookup("provincia","poblaciones","población='" & me.población & "'")

CP=dlookup("CP","poblaciones","población='" & me.población & "'")

Es apostrofe comillas & y cierra & comillas apostrofe comillas

Hola, estoy intentando meter este código pero me sale error de compilación

Lo he puesto así:

Private Sub poblacion_AfterUpdate()

Dim pro As Variant
Dim codi As Variant


pro = DLookup("[provincia]", "poblaciones", "poblacion='" & Me.poblacion & "'")

codi = DLookup("[CP]", "poblaciones", "poblacion='" & Me.poblacion & "'")

Me.provincia.Value = Me.pro.Value
Me.codigo postal.Value = Me.codi.Value

Me.Refresh

End Sub

¿Qué estoy haciendo mal?

Un saludo

En principio y si me lo permites, en la tabla Contactos yo pondrías sólo el Id de la tabla Poblaciones, porque teniendo el Id, tienes la dirección, la provincia, y todo lo relacionado con ese registro en particular.

Dicho esto si tengo la tabla Copia como

Como no tengo ningún campo con las provincias voy a usar la dirección. También tengo la tabla Contactos( más o menos, como la tuya) y con ella hago un formulario, da igual si es único o continuo. En este caso es único

Donde como te decía, al no tener Provincias voy a usar la dirección pero es exactamente igual.

Escribo un nombre cualquiera, "despliego" el combo y voy a elegir la "marcada" en negro.

En el mismo momento que lo elijo

Y lo único que le digo, es

Private Sub Dirección_AfterUpdate()
País = DLookup("país", "copia", "dirección='" & Me.Dirección & "'")
Ciudad = DLookup("ciudad", "copia", "dirección='" & Me.Dirección & "'")
CodigoPostal = DLookup("CódPostal", "copia", "dirección='" & Me.Dirección & "'")
End Sub

Lo único que se me ocurre de lo que te pueda pasar es que hayas creado el combinado con el asistente y tenga dos columnas, y que la columna dependiente tenga otro campo, sea Id, sea...

En ese caso, en la instrucción tendrías que ponerla( y suponiendo que ese campo sea Id, numérico)

.............."id = " & me.dirección & "")

De todas formas, si quieres, repito, si quieres, mándame una copia vacía de la tabla Contactos y una copia, con al menos tres o cuatro registros de la tabla poblaciones a [email protected] y te preparo un ejemplo y te lo envío.

Si lo haces, en el asunto del mensaje pon tu alias Antonio Guerrero, ya que si no sé quien me escribe ni los abro.

Respuesta

Si edita el origen de datos de la búsqueda e incluye idPoblacion, Poblacion, provincia y CP puede utilizar el método Columm(). Algo como

Private Sub poblacion_AfterUpdate()

 Provincia=Me.busquea.Column(1)

CP=Me.busqueda.Column(3)

End Sub

En donde busqueda es el nombre del control o cuadro combinado. No sé en que orden tenga su consulta y supongo que tiene un ID de población.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas