Professional Documents
Culture Documents
– Un cuadro de lista
– Un cuadro de texto
Sacamos las propiedades del cuadro de lista y nos vamos a la Pestaña Otras → Nombre, y
escribimos lstPoblacion
En la etiqueta del cuadro de lista escribimos algo así como “Seleccione una población”.
Sacamos sus propiedades y le ponemos de nombre lblPoblacion
Sacamos las propiedades del cuadro de texto y nos vamos a la Pestaña Otras → Nombre, y
escribimos txtResultado
PREPARANDO LA TRAMPA
Vamos a seleccionar el cuadro de lista y vamos a hacer un copy-paste del mismo. Veremos que
nos aparece abajo un nuevo cuadro de lista. Sacamos sus propiedades y le ponemos de
nombre lstCiudad. En su etiqueta escribimos “Selecciona una ciudad”. Sacamos sus
propiedades y le ponemos de nombre lblCiudad
Una vez hecho lo anterior situamos este segundo cuadro de lista ENCIMA del primero, de
manera que parezca que sólo hay un cuadro de lista.
Para que cada vez que abramos el formulario o pasemos a un nuevo registro la lista nos
muestre las poblaciones lo que tenemos que hacer es:
1.- Sacamos las propiedades del formulario y nos vamos a la Pestaña Eventos → Al activar
registro, y generamos el siguiente código.
1
Visítame en http://siliconproject.com.ar/neckkito/
Private Sub Form_Current()
'Declaramos la variable
Dim miOrigen As String
'Creamos una SQL con el origen de la lista
miOrigen = "SELECT TPoblaciones.Poblacion FROM
TPoblaciones" _
& " ORDER BY TPoblaciones.Poblacion"
'Asignamos el origen a la lista
Me.lstPoblacion.RowSource = miOrigen
'Mostramos lstPoblacion y ocultamos lstCiudad
Me.lstCiudad.Visible = False
Me.lblCiudad.Visible = False
Me.lstPoblacion.Visible = True
Me.lblPoblacion.Visible = True
End Sub
…
…
Private Sub lstPoblacion_DblClick(Cancel As Integer)
'Declaramos las variables
Dim vPobl As String
Dim miOrigen As String
'Cogemos el valor seleccionado
vPobl = Me.lstPoblacion.Value
'Creamos la SQL de origen
miOrigen = "SELECT TCiudades.Ciudad FROM TCiudades" _
& " WHERE TCiudades.PoblacionCiu = '" & vPobl & "'" _
& " ORDER BY TCiudades.Ciudad"
'Aplicamos nuestro origen a la lista
Me.lstCiudad.RowSource = miOrigen
'Refrescamos la información de la lista
Me.lstCiudad.Requery
'Ocultamos la lista lstPoblaciones y mostramos lstCiudades
Me.lstCiudad.Visible = True
Me.lblCiudad.Visible = True
Me.lstCiudad.SetFocus
Me.lstPoblacion.Visible = False
Me.lblPoblacion.Visible = False
End Sub
…
Y ahora sólo nos queda manipular lstCiudad. Así pues, en el evento “Al hacer doble click” de
esta lista generamos el siguiente código:
…
Private Sub lstCiudad_DblClick(Cancel As Integer)
'Declaramos la variable
Dim vCiud As String
2
Visítame en http://siliconproject.com.ar/neckkito/
'Cogemos el valor seleccionado
vCiud = Me.lstCiudad.Value
'Escribimos el valor en nuestro TextBox
Me.txtResultado.Value = vCiud
'Ocultamos la lista lstCiudades y mostramos
lstPoblaciones
Me.lstPoblacion.Visible = True
Me.lblPoblacion.Visible = True
Me.lstPoblacion.SetFocus
Me.lstCiudad.Visible = False
Me.lblCiudad.Visible = False
End Sub
…
¡Saludos!
3
Visítame en http://siliconproject.com.ar/neckkito/