PESQUISAR DBGRID
Ola a todos sou iniciante VB6 estou com uma duvida, como faço para fazer uma perquisa combox onde dentro dele eu posso selecionar a tabela Funcionario e formecedor para pesquisar. E digitar text o dado a ser pesquisado.
Este e o codigo que eu estou usando para conectar o BD ao dbgrip
Private cn As ADODB.Connection
Private RS As ADODB.Recordset
Private Sub Conectar()
Set cn = New ADODB.Connection
cn.ConnectionString = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & App.Path & [Ô]\SpyChip.mdb[Ô] & [Ô];Persist Security Info=False;[Ô]
cn.CursorLocation = adUseClient
cn.Open
End Sub
Private Sub IniciaGrid()
Dim SQL As String
Set RS = New ADODB.Recordset
SQL = [Ô]select * from Funcionario[Ô]
RS.Open SQL, cn, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = RS
DataGrid1.Refresh
End Sub
Private Sub Form_Load()
Conectar
IniciaGrid
end sub
Private Sub Text1_Change()
If cboCampo = [Ô]Nome[Ô] Then
If cboRelacionamento = [Ô]Aprox.[Ô] Then
SQL = [Ô]select * from Funcionario[Ô]
SQL = [Ô]select ID, Nome from [Ô] & _
[Ô]Funcionario where Nome like [ô][Ô] & Trim$(Text1) & [Ô]*[ô][Ô]
Else
SQL = [Ô]select * from Funcionario[Ô]
SQL = [Ô]select ID, Nome from [Ô] & _
[Ô]Funcionario where Nome = [ô][Ô] & Trim$(Text1) & [Ô][ô][Ô]
End If
End If
DataGrid1.Refresh
End Sub
Não esta dando nem um erro.
Desde já Agradeço
Este e o codigo que eu estou usando para conectar o BD ao dbgrip
Private cn As ADODB.Connection
Private RS As ADODB.Recordset
Private Sub Conectar()
Set cn = New ADODB.Connection
cn.ConnectionString = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & App.Path & [Ô]\SpyChip.mdb[Ô] & [Ô];Persist Security Info=False;[Ô]
cn.CursorLocation = adUseClient
cn.Open
End Sub
Private Sub IniciaGrid()
Dim SQL As String
Set RS = New ADODB.Recordset
SQL = [Ô]select * from Funcionario[Ô]
RS.Open SQL, cn, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = RS
DataGrid1.Refresh
End Sub
Private Sub Form_Load()
Conectar
IniciaGrid
end sub
Private Sub Text1_Change()
If cboCampo = [Ô]Nome[Ô] Then
If cboRelacionamento = [Ô]Aprox.[Ô] Then
SQL = [Ô]select * from Funcionario[Ô]
SQL = [Ô]select ID, Nome from [Ô] & _
[Ô]Funcionario where Nome like [ô][Ô] & Trim$(Text1) & [Ô]*[ô][Ô]
Else
SQL = [Ô]select * from Funcionario[Ô]
SQL = [Ô]select ID, Nome from [Ô] & _
[Ô]Funcionario where Nome = [ô][Ô] & Trim$(Text1) & [Ô][ô][Ô]
End If
End If
DataGrid1.Refresh
End Sub
Não esta dando nem um erro.
Desde já Agradeço
VENENOSOBR bom dia
Pelo que estou vendo, faltou você executar o comando SQL no data, você apenas montou o SQL más não o executou
Por isso que não deu nenhum erro, pois quando você deu o Refresh, ele atualizou o que estava no data, ou seja [Ô]select * from[Ô]
Set RS = New ADODB.Recordset
RS.Open SQL, cn, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = RS
DataGrid1.Refresh
Acho que isso pode te ajudar
Pelo que estou vendo, faltou você executar o comando SQL no data, você apenas montou o SQL más não o executou
Por isso que não deu nenhum erro, pois quando você deu o Refresh, ele atualizou o que estava no data, ou seja [Ô]select * from[Ô]
Set RS = New ADODB.Recordset
RS.Open SQL, cn, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = RS
DataGrid1.Refresh
Acho que isso pode te ajudar
[txt-size=2]Boa Tarde Alvaro
Agradeço pela a sua ajuda pos, sou iniciante no VB.
Então o que esta contecendo q não esta filtrando o registro que estou digitando ele aparece todos.
Sabe me dizer como posso resolver isto???
Fica na Paz[/txt-size]
Agradeço pela a sua ajuda pos, sou iniciante no VB.
Então o que esta contecendo q não esta filtrando o registro que estou digitando ele aparece todos.
Sabe me dizer como posso resolver isto???
Fica na Paz[/txt-size]
VENENOSOBR
A Paz meu querido, você já tentou colocar esse comando que falei para você?
Ajustando o seu comando, ficaria algo assim
Private Sub Text1_Change()
If cboCampo = [Ô]Nome[Ô] Then
If cboRelacionamento = [Ô]Aprox.[Ô] Then
SQL = [Ô]select * from Funcionario[Ô]
SQL = [Ô]select ID, Nome from [Ô] & _
[Ô]Funcionario where Nome like [ô][Ô] & Trim$(Text1) & [Ô]*[ô][Ô]
Else
SQL = [Ô]select * from Funcionario[Ô]
SQL = [Ô]select ID, Nome from [Ô] & _
[Ô]Funcionario where Nome = [ô][Ô] & Trim$(Text1) & [Ô][ô][Ô]
End If
End If
Set RS = New ADODB.Recordset
RS.Open SQL, cn, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = RS
DataGrid1.Refresh
End Sub
Acho que isso pode te ajudar
A Paz meu querido, você já tentou colocar esse comando que falei para você?
Citação:ALVAROVB2009 escreveu:
VENENOSOBR bom dia
Pelo que estou vendo, faltou você executar o comando SQL no data, você apenas montou o SQL más não o executou
Por isso que não deu nenhum erro, pois quando você deu o Refresh, ele atualizou o que estava no data, ou seja [Ô]select * from[Ô]
Set RS = New ADODB.Recordset
RS.Open SQL, cn, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = RS
DataGrid1.Refresh
Acho que isso pode te ajudar
Ajustando o seu comando, ficaria algo assim
Private Sub Text1_Change()
If cboCampo = [Ô]Nome[Ô] Then
If cboRelacionamento = [Ô]Aprox.[Ô] Then
SQL = [Ô]select * from Funcionario[Ô]
SQL = [Ô]select ID, Nome from [Ô] & _
[Ô]Funcionario where Nome like [ô][Ô] & Trim$(Text1) & [Ô]*[ô][Ô]
Else
SQL = [Ô]select * from Funcionario[Ô]
SQL = [Ô]select ID, Nome from [Ô] & _
[Ô]Funcionario where Nome = [ô][Ô] & Trim$(Text1) & [Ô][ô][Ô]
End If
End If
Set RS = New ADODB.Recordset
RS.Open SQL, cn, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = RS
DataGrid1.Refresh
End Sub
Acho que isso pode te ajudar
Tópico encerrado , respostas não são mais permitidas