Como abrir un formulario desde una selección de una lista desplegable

Tengo un formulario en el que tengo un campo de lista desplegable.

Quisiera que al momento de seleccionar en la lista se abriera un formulario relacionado a la selección de esa lista. Agradezco toda la ayuda posible. Saludos

1 Respuesta

Respuesta
2

Teniendo en cuenta que el nombre del formulario que debe abrir no tiene nada que ver con el nombre que aparece en el cuadro de lista, al que llamaremos TipoServicio no te queda más remedio que en las propiedades del cuadro de lista-Eventos-Después de actualizar crear un procedimiento de evento y entre Private Sub y End Sub poner

Select case tiposervicio

case is="Alquiler de almacen"

docmd.openform"......

case is="Alquiler de habitaciones....."

docmd.openform".....

así hasta que acabes con los elementos de la lista y terminas con 

End Select

También podrías crear una tabla con los valores del cuadro de lista y otro campo con el nombre del formulario que debe abrir. Luego usar esa tabla como origen de la fila del cuadro de lista y poner la columna de los formulario como oculta. Entonces bastaría con poner

docmd.openform""" & me.tiposervicio & "".column(1)"

Pero creo que sería complicarte.

Muchas gracias Julián. Si entiendo cualquiera de las dos formas.

Tengo otras preguntas pendientes, podrías ayudarme con esas por favor amigo

Estoy colocando el código:

Private Sub TipoServicio_AfterUpdate()

Select Case TipoServicio
Case Is = "serv.mudanzas"
DoCmd.OpenForm "SreMudanzas"
End Select

End Sub

Pero no funciona, je je, también lo coloque en el evento AL CAMBIAR y tampoco funciono.

¿Dónde me estoy equivocando mi estimado?

El error lo tienes en que en el cuadro de lista entre el punto y mudanzas hay un espacio, sin embargo en el código, entre el punto y mudanzas no hay espacio, y eso, amigo mío es una cadena distinta.

Mira, si tengo el formulario1 con un cuadro de lista llamado TipoServicio

Si selecciono Serv. Mudanzas

Por el contrario si selecciono alquiler de almacén

No te fijes en el acabado de los formularios, ni que se abra en vista diálogo, es para que se vea como se abren los formularios correspondientes

Y el código del evento Después de actualizar del cuadro de lista TipoServicio es

Private Sub TipoServicio_AfterUpdate()
Select Case TipoServicio
Case Is = "Serv. Mudanzas"
DoCmd.OpenForm "SreMudanzas", , , , , acDialog
Case Is = "alquiler de almacén"
DoCmd.OpenForm "alquileralmacen", , , , , acDialog
End Select
End Sub

¡Gracias! Excelente amigo, ya lo reviso

Parece absurdo pero aun sigue sin abrir el formulario, he revisado la cadena de texto y la corregí en el código, incluso copie tu código y lo pegue en el evento DESPUES DE ACTUALIZAR, también lo coloque como prueba en el evento AL CAMBIAR y no se abre el formulario.

Sé que sobra lo que voy a decirte pero ¿has comprobado como se llama el cuadro de lista?

¿Has comprobado el número de columnas? Si has utilizado el asistente y la tabla donde guardas los tipos de servicio tiene un id, Access se lo agrega aunque lo oculte. En caso de que fuera así, en la solapa Datos ponle como columna dependiente la 2

Por último, ¿el código lo has puesto bien en el evento

Es decir, ¿has seleccionado Procedimiento de evento, luego has pulsado el generador(botón de tres puntos) para que se abra el editor de VB

Es que no consigo imaginarme porque no te funciona

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas