Combobox con la opción todos

Tengo un formulario que realiza una consulta con los datos proporcionados por varios controles combobox o cuadros combinados. Necesito que en cada uno de los cuadros combinados aparezca la opción "Todos", para que cuando se seleccione ésta, la consulta modifique el criterio para el campo relacionado con ese cuadro combinado, de manera que incluya los registros que cumplan las condiciones de los otros combobox.
¿Podrías decirme como se puede hacer?
1

1 respuesta

Respuesta
1
Una posibilidad es que cuando no tengan nada sean todos
si te sirve esto, pon en el sql o consulta, ¿qué si el parámetro dado es nulo o "" vacío
que no use el parámetro
si no también puede ser con la palabra todos agregada al combo
claro que depende de si el combo obtiene sus valores de una tabla o de donde?
Que parte no sabes hacer, agregar "TODOS" al combo, es difícil si son dependientes de tablas
o la consulta con el parámetro de todos
o las combinaciones entre todos los combos y el sql
si quieres mandame la bd a [email protected]
Hola Luis
Ya lo he conseguido. Lo he hecho colocando en el criterio de consulta la expresión:
=[Nombrecampo] O [Nombrecampo] Es Nulo
Así de fácil. Con esto, cuando uno o varios de los combobox el usuario no selecciona nada, dejándolos en blanco, la consulta filtra todos los registros que cumplan los criterios seleccionados en los otros combobox.
Ahora me preocupa lo siguiente: actualmente cada combobox predice la frase a introducir según los caracteres que escriba el usuario, pero comparando cadenas de texto por la izquierda. Quisiera que prediciesen la frase, es decir me filtrasen aquellos registros, que contengan la cadena de texto escrita por el usuario (dos, tres, cuatro caracteres o los que sean), pero en cualquier parte del texto: por la izquierda, el centro o la derecha. No se si me explico.
Un saludo amigo experto
Seria así
Es algo complicado
Si quieres te envío una base de ejemplo
Dame tu email o mejor me lo das en mi email
acá falta algo al salir del campo o al entrar a el para que quede bien
Private Sub Cuadro_KeyPress(KeyAscii As Integer)
   On Error Resume Next
   c1$ = Chr(KeyAscii)
   s = Cuadro.SelStart
   If KeyAscii = 8 Then c1$ = "": If s > 0 Then s = s - 1
   If KeyAscii = 27 Then Exit Sub
   If KeyAscii < 32 Or KeyAscii > Asc("z") Then c1$ = ""
   w$ = "WHERE Descripción LIKE '*" & nz(Left(Cuadro.Text, s)) & c1$ & "*'"
   Cuadro.RowSource = "SELECT Código, Descripción FROM Bancos " & w$ & " ORDER BY Descripción;"
   If Cuadro.ListCount > 0 Then Cuadro.Dropdown
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas