QUERY COM MULTIPLOS CHECKBOX
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.
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....
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....
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.
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.
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