QUERY COM MULTIPLOS CHECKBOX

WILSONJOSE 23/03/2015 17:46:24
#445439
Boa tarde, preciso emitir um relatório onde os filtros são 10 checkbox, na query preciso apenas dos checbox que eu escolher, alguém poderia me dar uma luz por gentileza!!!, desde já agradeço.
RO.DRIGOSG 02/04/2015 17:41:35
#445648
Cara,

Na verdade eu não entendi muita coisa não, seja mais específico. Qual relatório vc usa (ex: crystal reports) , qual o banco de dados, você quer montar a query manualmente ou de forma dinâmica conforme o usuário vai selecionando os checkbox no vb? Etc....
DUMMIES 03/04/2015 12:14:10
#445662
WilsonJose, eu faria assim.

1 - Declara uma variável do tipo string para concatenar as opções que deseja usa na query.
Dim sSqlAux as String
Antes de começar a conferir limpe a variável:
sSqlAux = Empty

2 Faz varios IF para conferir qual ou quais CheckBox estão marcados.
If Check1.value = 1 then
if sSqlAux <> [Ô][Ô] then
sSqlAux = sSqlAux & [Ô] and meucampo_no_banco = valor[Ô]
else
sSqlAux = [Ô] and meucampo_no_banco = valor[Ô]
end if
end if

If Check2.value = 1 then
if sSqlAux <> [Ô][Ô] then
sSqlAux = sSqlAux & [Ô] and meucampo_no_banco = valor[Ô]
else
sSqlAux = [Ô] and meucampo_no_banco = valor[Ô]
end if
end if

If Check3.value = 1 then
if sSqlAux <> [Ô][Ô] then
sSqlAux = sSqlAux & [Ô] and meucampo_no_banco = valor[Ô]
else
sSqlAux = [Ô] and meucampo_no_banco = valor[Ô]
end if
end if

Feito isso a sua variável sSqlAux estará com os parametros que precisa passar para sua query principal, ai é só implementar ela:

SqlPrincipal = SqlPrincipal & sSqlAux

Quanquer dúvida entre em contato.
FOXMAN 05/04/2015 11:10:16
#445704
Citação:

dim sSql as string = Nothing
For Each controle In Me.UmGroupBox.Controls
If TypeOf controle Is CheckBox Then
If controle.Checked then
[ô]Sua concatenação de sql aqui. Cada Chekbox checado irá passar por aqui.
End if
End If
Next



Importante você manter todos os controles CheckBox dentro um mesmo Container(Panel, GroupBox, TabControl, etc) . Se todos estiverem fora de containers não haverá problema algum.

O exemplo acima é para CheckBox que estão dentro de um Container do tipo GroupBox.
Faça seu login para responder