Professional Documents
Culture Documents
La segunda es que el cuadro de lista nos permite seleccionar varios valores de los encontrados,
mostrndonos, tras un click de botn, la informacin referente a aquello que hayamos
seleccionado.
El botn para aadir registros lo vamos a llamar cmdAadir 2 porque veremos que tiene un
tratamiento especial en los cdigos.
Los botones para trabajar con registros han sido creados usando el asistente, por lo que no
1
Vistame en http://neckkito.siliconproject.com.ar
cabe destacar nada de ellos. El botn para cerrar el formulario, que se llama cmdCerrar, tiene
el siguiente cdigo3 en el evento Al hacer click:
Private Sub cmdCerrar_Click()
DoCmd.OpenForm "FMenu"
DoCmd.Close acForm, Me.Name
End Sub
3 Para generar cdigo debemos sacar las propiedades del control Pestaa Eventos, y nos situamos en la parte blanca a la
derecha del evento que queremos programar. Veremos un pequeo botn de puntos suspensivos. Si hacemos click sobre l nos
aparecer una ventana que nos pedir qu operacin deseamos realizar. Le indicamos que queremos generar cdigo.
2
Vistame en http://neckkito.siliconproject.com.ar
Private Sub cmdBuscar_Click()
DoCmd.OpenForm "FBuscador"
DoCmd.Close acForm, Me.Name
End Sub
En el encabezado aadimos un botn que nos servir para cerrar el formulario, que
llamaremos cmdcerrar.
A continuacin nos creamos un cuadro de lista que llamaremos lstPersonas. Cuando nos
aparezca el asistente lo configuramos de la siguiente manera:
Sacamos las propiedades de lstPersonas y nos vamos a Pestaa Otras Seleccin mltiple, y
fijamos su valor en Extendida.
Para acabar, en el pie del formulario, aadimos un botn de comando, que llamaremos cmdVer.
3
Vistame en http://neckkito.siliconproject.com.ar
Vamos a por los cdigos de los controles.
4
Vistame en http://neckkito.siliconproject.com.ar
Debemos crearnos un filtro para abrir nuestro formulario
FAgenda filtrado. Como el filtro va a depender de la
seleccin que hagamos en el cuadro de lista inicializamos el
filtro con algo que no va depender de dicha seleccin. Ese
algo es
Una vez examinados los elementos seleccionados, cmo sabemos que el usuario no ha
seleccionado ninguno? Pues para comprobarlo contamos los caracteres del filtro miSeleccin.
Si recordamos, inicializbamos el filtro con <miSeleccion = "[ID] IN (">, y esa expresin lleva
9 caracteres. Si no ha crecido es porque no se ha seleccionado ningn valor del cuadro de
lista. Ese control nos lo proporciona la lnea:
If Len(miSeleccion) = 9 Then
Si el proceso ha sido correcto la variable miSeleccin contendr una serie de valores, pero
como al construirla bamos aadiendo una coma al final ahora debemos eliminar esa ltima
coma para evitar que el cdigo nos d errores, ya que contendra un error de sintaxis.
Adems, debemos cerrar el parntesis de la lista. Eso es lo que hace la lnea:
nicamente nos queda ahora el cdigo que nos va a ir filtrando segn escribamos en el
textbox txtBuscar. Para ello, en dicho control, en el evento Al cambiar le generamos el
siguiente cdigo:
5
Vistame en http://neckkito.siliconproject.com.ar
Lo que hace este cdigo es ir modificando, a medida que se
escribe, el origen del registro de lstPersonas. Para ello, va
creando una SQL que busca por aproximacin en funcin de
lo que estemos escribiendo. Al final de cada pulsacin de
teclado, adems de realizar la SQL de filtro, va refrescando
la informacin de la lista.
'------------------------------------------------------------------------------------------------
' Procedimiento para abrir el formulario "Agenda" en distintos modos
' Modos: 1=Aadir, 2=Editar, 3=Consultar
'------------------------------------------------------------------------------------------------
Como vemos el procedimiento admite dos parmetros, uno obligatorio (Modo) y otro Opcional
(Filtro).
Los parmetros que le podemos pasar son los nmeros 1, 2 o 3. Con el 1 abriramos el
formulario para poder aadir registros, con el 2 para editarlos y el 3 para consultarlos.
Lo que hacemos en la primera lnea de cdigo es abrir FAgenda en modo diseo y de manera
oculta, para que el usuario no vea que estamos manipulando el formulario.
Si lo abrimos en modo 1 para aadir lgicamente debe verse el botn para aadir registros,
pero si lo abrimos en modo 2 o 3 no debe abrirse. Esto es lo que hace el bloque IF...END IF,
situando la propiedad VISIBLE del botn en TRUE o FALSE segn el modo.
Una vez cambiada la propiedad VISIBLE se cierra FAgenda guardando los cambios.
El bloque siguiente, el SELECT CASE, lo que hace es abrir el formulario FAgenda en vista
formulario en el modo que hemos seleccionado. Si el modo es 1 para aadir aadimos, a la
orden de apertura, el argumento acFormAdd; si el modo es 2 para modificar no le pasamos
argumento alguno; si el modo es 3 para consultar le pasamos el argumento acFormReadOnly.
4 Para insertar un mdulo estndar podemos abrir el editor de VB (ALT+F11) y nos vamos a Men Insertar Mdulo
6
Vistame en http://neckkito.siliconproject.com.ar
Fcil, verdad? ;-)
suerte!
7
Vistame en http://neckkito.siliconproject.com.ar