CHECKLISTBOX

MHDSERAFS 26/10/2011 23:43:37
#387857
amigos...
gostaria de carregar os dados do colaborador no datagridview através do checklistbox

no checklistbox eu carrego os nomes das pessoas e ao seleciona-lo gostaria de carregar os dados dos colaboradores no datagridview

sql = [Ô]select * from cons_xls where colocaborador = [ô][Ô] & CheckedListBox1.checkeditens & [Ô][ô] and not tipo is null order by data[Ô]
DataGridView1.DataSource = Consulta(sql)

algo assim
PROFESSOR 27/10/2011 00:30:45
#387861
Resposta escolhida
Ok. A questão é concatenar os ítens na instrução.

...
Dim lista As String = [Ô]IN([Ô]
Dim iTot As Integer = (CheckedListBox1.CheckedItems.Count -1)
For iPos As Integer = 0 To (iTot-1)
lista &= String.Format([Ô] [ô]{0}[ô] [Ô], CheckedListBox1.CheckedItems(iPos))
If (iPos < iTot) Then lista &=[Ô],[Ô]
Next
lista &= [Ô])[Ô]
DataGridView1.DataSource = Consulta([Ô]select * from cons_xls where (colocaborador [Ô]& lista &[Ô]) and not (tipo is null) order by data[Ô])
...


Observações que nada tem á ver com sua dúvida, e nem sei se de fato você precisa, mas que podem ser úteis:

1. Evite ao máximo o uso de [Ô]SELECT *...[Ô]. Procure sempre definir os nomes dos campos, mesmo que sejam todos os da(s) tabela(s). Isso reduz o delay e minimiza o risco de consultas com campos [Ô]dobrados[Ô].

2. Evite o uso de palavras reservadas ao nomear um campo de um banco de dados (neste caso, [Ô]data[Ô]), pois ainda que funcionem, mais cedo ou mais tarde causarão problemas, e não auxiliam na compreenção das estruturas. Há palavras reservadas comuns aos mecanismos, mas várias são exclusivas de um mecanismo específico. As palavras reservadas de cada mecanismo de dados podem ser listadas em uma tabela por meio do método GetSchema (iConnection), por exemplo:
 Dim tbReservadas As Data.Datatable = mConector.GetSchema([Ô]ReservedWords[Ô])


MHDSERAFS 27/10/2011 00:52:35
#387862
professor...
esta dando erro:

Erro de sintaxe (operador faltando) na expressão de consulta [ô](colocaborador IN()) and not (tipo is null)[ô].
MHDSERAFS 27/10/2011 01:55:03
#387866
GALERA...
ESTOU USANDO O SEGUINTE CODIGO PARA CARREGAR NO DATAGRID OS DADOS DO ITEM SELECIONADO

Dim item As String = CheckedListBox1.SelectedItem
Select Case e.NewValue
Case CheckState.Checked
sql = [Ô]select * from cons_xls where COLABORADOR = [ô][Ô] & item & [Ô][ô][Ô]
DataGridView1.DataSource = Consulta(sql)
End Select

PORéM ELE MOSTRA APENAS OS DADOS DE 1 ITEM MARCADO E GOSTARIA DE QUE NO GRID FOSSE CARREGADO OS DADOS DE TODOS QUE FORAM MARCADOS
GRATO
PROFESSOR 27/10/2011 03:22:06
#387868
Ok, e foi por essa razão que usamos o loop. Vamos á ele:

...
Dim lista As String = [Ô]IN([Ô] [ô]Aqui nós estamos iniciando o loop, ok?
Dim iTot As Integer = (CheckedListBox1.CheckedItems.Count -1)
For iPos As Integer = 0 To (iTot-1)
[ô]Aqui, cada item marcado, é adicionado á variável [Ô]lista[Ô].
lista &= String.Format([Ô] [ô]{0}[ô] [Ô], CheckedListBox1.CheckedItems(iPos))
If (iPos < iTot) Then lista &=[Ô],[Ô]
Next
lista &= [Ô])[Ô]
[ô]O resultado esperado então, será lista = [Ô]IN([ô]Item 1[ô],[ô]Item 2[ô],[ô]Item 3[ô])[Ô], por exemplo, ou então, [Ô]IN()[Ô], se nada foi marcado (Checked).


[txt-color=#e80000]
[ô]Aqui, portanto, pode ocorrer erro, sem dúvidas, caso nenhum item tenha sido marcado (carga do form, por exemplo).
[ô]A falha foi minha, pois eu não avaliei se havia ao menos 1 item marcado.
[ô] DataGridView1.DataSource = Consulta([Ô]select * from cons_xls where (colocaborador [Ô]& lista &[Ô]) and not (tipo is null) order by data[Ô])[/txt-color]

[ô]Para resolver, vamos avaliar antes se há ou não itens (no caso, iTot deve trazer a resposta).
If (iTot > 0) Then
DataGridView1.DataSource = Consulta([Ô]select * from cons_xls where (colocaborador [Ô]& lista &[Ô]) and not (tipo is null) order by data[Ô])
Else
DataGridView1.DataSource = Consulta([Ô]select * from cons_xls where not (tipo is null) order by data[Ô])
End If
...

Um detalhe: CheckedListItems é a parcela da coleção Items que foi marcada (Checked). SelectedItems é a parcela da coleção Items que está selecionada, quando o controle possui a propriedade SelectionMode como MultiSimple ou MultiExtended. Items, óbvio, é a coleção completa, e, por fim, SelectedItem é sempre o item selecionado de índice zero (o primeiro da coleção SelectedItems). Por esse motivo eu usei a CkeckedListItems.

E, de fato, eu devo estar mesmo com sono.... Me desculpe a falha...
MHDSERAFS 27/10/2011 03:54:52
#387870
RSRSR

AMIGO PROFESSOR...
AGORA ESTA DANDO O ERRO:

Nenhum valor foi fornecido para um ou mais parâmetros necessários.
PROFESSOR 27/10/2011 04:01:32
#387871
Curiosidade: O que está montado na variável [Ô]lista[Ô] é o esperado, ou seja, ela contém o [Ô]IN()[Ô] onde, dentro dos parêntesis, há uma lista com o texto dos itens marcados, separados por vírgulas, e cada um dos têrmos, entre aspas simples, certo?
P.S.: Estou adicionando seu e-mail ao MSN. Se achar conveniente, claro, podemos conversar mais rapidamente.



MHDSERAFS 27/10/2011 04:09:09
#387872
professor eu ja te add

iosystems@hotmail.com

me add
m_hds23@hotmail.com


referente a list
o que acontece ele esta busca na tabela os dados
Tópico encerrado , respostas não são mais permitidas