PESQUISA NO DATAGRIDVIEW

LUDGERO1993 09/05/2013 12:49:55
#423185
Dim t1 As String = TextBox2.Text
Dim t2 As String = TextBox3.Text
Dim t3 As String = TextBox4.Text
Dim t4 As String = TextBox5.Text
Try
DataGridView1.Rows.Clear()
[ô]DataTableOleDb = DevolveDataTableOleDb([Ô]SELECT * From Pessoa[Ô])
SqlQuery = [Ô]SELECT * from Pessoa[Ô] & _
[Ô] WHERE Nome_da_Empresa LIKE [ô]%[Ô] & t4 & [Ô]%[ô][Ô] & _
[Ô] OR Nome_da_pessoa LIKE [ô]%[Ô] & t1 & [Ô]%[ô][Ô] & _
[Ô] OR Nº_telemovel LIKE [ô]%[Ô] & t2 & [Ô]%[ô][Ô] & _
[Ô] OR nome_do_cargo LIKE [ô]%[Ô] & t3 & [Ô]%[ô];[Ô]
DataTableOleDb = DevolveDataTableOleDb(SqlQuery)

For Each row As DataRow In DataTableOleDb.Rows

DataGridView1.Rows.Add(row([Ô]ID_Pessoa[Ô]).ToString, row([Ô]Nome_da_pessoa[Ô]).ToString, row([Ô]Nº_telemovel[Ô]).ToString, row([Ô]nome_do_cargo[Ô]).ToString, row([Ô]Nome_da_Empresa[Ô]).ToString)

Next

Catch ex As Exception

MessageBox.Show([Ô]Erro na leitura do ficheiro de configuração.[Ô] & vbNewLine & vbNewLine & ex.Message, [Ô]wIntegrador[Ô], MessageBoxButtons.OK, MessageBoxIcon.Error)

End Try


tennho este codigo mas ele nao me deixa pesquisar nas textbox como eu quero esta e funcao que uso nas textbox alguem me pode ajudar
KERPLUNK 09/05/2013 13:35:01
#423186
Resposta escolhida
O que ocorre? Erro em alguma linha? Não filtra os dados? Não preenche o grid?

Dica: entenda o que é um grid e entenderá como fazer qualquer coisa com ele...
LUDGERO1993 10/05/2013 05:45:54
#423227
nao filtra os dados
KERPLUNK 10/05/2013 09:20:02
#423234
Você espera que o usuário digite em todos os campos SEMPRE? Se ele não digitar algo em algum dos campos, este filtro será adicionado na sua query mesmo assim, de acordo com seu código...
ROMERO.KCOAL 10/05/2013 10:05:15
#423245
As vezes eu tenho este problema quando tento localizar algum registro com o * ou %

para isso tenho uma função que faz o trabalho do conversão pra mim...

Public Function Plic(ByVal sTexto As String) As String
If InStr(sTexto, Chr(39)) Then
Plic = Chr(39) & Replace(sTexto, Chr(39), Chr(39) & Chr(39)) & Chr(39)
Else
Plic = Chr(39) & sTexto & Chr(39)
End If
Plic = Replace(Plic, [Ô]*[Ô], [Ô]%[Ô])
End Function

desta forma ficaria assim:

SqlQuery = [Ô]SELECT * from Pessoa[Ô] & _
[Ô] WHERE Nome_da_Empresa LIKE [Ô] & Plic([Ô]*[Ô] & t4 & [Ô]*[Ô]) & [Ô][Ô] & _
[Ô] OR Nome_da_pessoa LIKE [Ô] & Plic([Ô]*[Ô] & t1 & [Ô]*[Ô]) & [Ô][Ô] & _
[Ô] OR Nº_telemovel LIKE [Ô] & Plic([Ô]*[Ô] & t2 & [Ô]*[Ô]) & [Ô][Ô] & _
[Ô] OR nome_do_cargo LIKE [Ô] & Plic([Ô]*[Ô] & t3 & [Ô]*[Ô]) & [Ô];[Ô]

DataTableOleDb = DevolveDataTableOleDb(SqlQuery)
LUDGERO1993 10/05/2013 10:12:24
#423247
ja fiz essa funcao e nao fez nada quando digito os dados na textbox ele seleciona a primeira celula em vez de aparecer os dados filtrados
ROMERO.KCOAL 10/05/2013 10:22:44
#423251
ja tentou trocar o OR por AND?

no SQL tudo isso implica como vc vai localizar sues registros...
LUDGERO1993 10/05/2013 10:25:34
#423252
fiz isso e ja funciona muito obrigado pela ajuda
Tópico encerrado , respostas não são mais permitidas