Modificar valor de cuadro combinado al hacer clic

Tengo un cuadro combinado que me gustaría que cuando hiciese clic en una de sus opciones, se marcara una casilla de verificación en dicha opción, con el objeto que cuando vuelva a abrirlo no aparezca ya esta opción, ya que fue seleccionada por otro usuario. Este cuadro combinado toma los datos de una consulta que filtra la citada casilla de verificación.

En definitiva, quiero que no se muestren en el cuadro combinado las opciones que ya fueron seleccionadas con anterioridad en el mismo.

1 respuesta

Respuesta
1

En principio, no se puede incluir ninguna casilla de verificación dentro de un ControlBox.- Tendrías que crear un nuevo ControlBox en Visual Basic e incorporarlo a tu aplicación Access.

Pero si puedes hacer, que cuando se selecciona una opción de un control box, esta se elimine. Esto se consigue mediante el comando.

MyControlBox. RemoveItem ->Solo elimina el item seleccionado actualmente.-

Un saludo y espero haber sido de ayuda.

Gracias por tu pronta respuesta, pero necesito que al hacer clic sobre ellas, esta opción no se muestre la próxima vez, pero de forma que al acceder a la tabla que contiene los datos que se muestran en el cuadro combinado, pueda volver a activar dicha opción.

En la practica es un una lista de lineas telefónicas, que mediante el cuadro combinado le asigno a diversos usuarios, quiero que se muestren sólo las que están sin asignar, pero ademas quiero poder volver a dejarlas sin asignación para que se vuelvan a mostrar en el cuadro como disponible.

Gracias

Lo que yo haría, sería cambiar la consulta de selección del cuadro de control para que no aparezcan las casillas marcadas con una determinada marca...

La consulta del cuadro de control debería ser algo similar a esto:

Select NumLinea from TablaLineas Where [CampoAsignado] =false

Después, cada vez que marcan una linea en el cuadro combinado, en el evento "Al perder el enfoque" lo que haría, sería marcar esa linea con una marca para evitar que vuelva a

Aparecer y volver a recargar el cuadro combinado, con lo cuál, ya no aparecerá la opción marcada. Anteriormente.

Esto quedaría algo similar a esto:

Private Sub CuadroControlLineas_LostFocus()

Dim ConsultaActualizacion as string

ConsultaActualizacion = "Update [TablaLineas] Set [CampoAsignado]=False Where [Numlinea]=" & "'" & Me.CuadroControlLineas & "'"

CuadroControlLineas.Requery

End Sub

Ten en cuenta que "CuadroControlLineas" es el nombre del cuadro combinado de donde seleccionas las lineas, "TablaLineas" es la tabla donde sacas los datos y "CampoAsignado" sería un campo tipo SI/NO para saber si esa linea está asignada o no

Ten cuidado con la comillas que tienen que ir al final de la consulta de actualización... solo son necesarioas si el valor del "CuadroControlLineas" es tipo texto.

Gracias de nuevo por la rapidez y el interés mostrado, intentaré poner en práctica la solución que me planteas.

Gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas