PREPARATIVOS INICIALES
Vamos a crear una nueva BD. En ella crearemos una nueva tabla, a la que llamaremos TDatos,
con los siguientes campos:
– [Id] → autonumérico (para este ejemplo le quitamos que sea clave principal)
– [Nom] → texto (nos recogerá un nombre)
– [Prof] → texto (nos recogerá una profesión)
Metemos varios registros en dicha tabla, para tener “carne fresca” con la que operar.
1.- Insertamos un cuadro combinado, que nos servirá para buscar por ID. Cuando se nos abra
el asistente lo configuramos de la siguiente manera:
2.- Sacamos las propiedades de ese combo y nos vamos a pestaña Otras->Nombre, y
sustituimos el valor que hay por cboBuscaId
3.- Creamos un segundo cuadro combinado. Cuando nos salga el asistente lo configuramos así:
4.- Sacamos las propiedades de ese combo y nos vamos a la pestaña Otras->Nombre, y
1
Visítame en http://siliconproject.com.ar/neckkito/
sustituimos el valor que hay por cboBuscaProf
Vamos allá:
5.- Sacamos las propiedades de nuestro combo cboBuscaId y nos vamos a la pestaña Eventos
->Después de actualizar.
Si nos situamos sobre el espacio en blanco que hay a su derecha veremos que nos aparece un
pequeño botón de puntos suspensivos. Hacemos click sobre él y, en la ventana que nos
aparece, le decimos que queremos generar código.
6.- Se nos abrirá el editor de VB (VBE), con dos líneas por defecto (Private Sub... y End Sub).
Esas líneas no debemos tocarlas. En medio de ellas escribiremos el siguiente código:
…
Private Sub cboBuscaId_AfterUpdate()
'Creamos la variable y le asignamos el valor del combo
Dim vId As Variant
vId = Me.cboBuscaId.Value
'Si el combo está vacío sale del proceso
If IsNull(vId) Then Exit Sub
Como [Id], que es el valor que le hemos dicho que guardara el combo, es un número, en la
parte del código que filtra por ese valor no hemos utilizado comillas simples. Es decir:
7.- Sacamos las propiedades del combo cboBuscaProf y nos vamos a la pestaña Eventos->
Después de actualizar. A este evento le generamos el siguiente código (os recuerdo que el
proceso para eso está explicado en el punto 5).
…
Private Sub cboBuscaProf_AfterUpdate()
'Creamos la variable y le asignamos el valor del combo
Dim vProf As Variant
vProf = Me.cboBuscaProf.Value
'Si no hay valor sale del proceso
If IsNull(vProf) Then Exit Sub
2
Visítame en http://siliconproject.com.ar/neckkito/
'Abrimos el formulario filtrado por profesión
DoCmd.OpenForm "FDatos", , , "[Prof]='" & vProf & "'"
End Sub
…
¡Suerte!
3
Visítame en http://siliconproject.com.ar/neckkito/