Ir para conteúdo



Pesquisa por nome do Produto com %


  • Por favor, faça o login para responder
5 respostas neste tópico

#1 FREITAS

FREITAS
  • Membros
  • 38 posts

Postado 15 November 2011 - 10:13 AM

Bo dia,

Coloquei no meu Formulário o código, e abusca está funcionando legal. Mas tem um porém:
Eu preciso digitar o nome do Produto todinho e depois clicar no Botão BUSCAR, para que os dados venha para a tela.
Preciso de duas coisas:

1 - O nome já ir sendo selecionado no DataGrid View à medida que eu for digitando o nome para pesquisa
2 - E não ser preciso do botão BUSCAR, já ir buscando direto, aí eu clico na linha do DataGridView e os campos do meu Formulário já são preenchidos com os dados do produto selecionad. no Grid.

O código que estou usando é esse:


Uso o Visual Studio 2008
BD Access



Sub buscar_cod_materiais_produtos()

Dim cs As String = My.Settings.EstoqueConnectionString

Dim conect As New OleDb.OleDbConnection
conect.ConnectionString = cs
conect.Open()

Dim CMD As New OleDb.OleDbCommand("select * from tb_estoque_atual where cod_materiais_produtos Like '" & txtPesquisa.Text & "'", conect)

Dim DR As OleDb.OleDbDataReader
DR = CMD.ExecuteReader

If DR.Read Then
txtcod_materiais_produtos.Text = DR(0)
txtMateriais_produtos.Text = DR(1)
txtUnidade.Text = DR(2)
txtEstoque_atual.Text = DR(3)
txtEstoque_minimo.Text = DR(4)
txtCodigo.Text = DR(5)


Else
MsgBox(
"Erro de busca, tente novamente")

End If
conect.Close()

End Sub

Private Sub btnBuscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBuscar.Click
buscar_cod_materiais_produtos()
txtPesquisa.Text =
""
txtPesquisa.Focus()


End Sub


Obrigado desde já

FREITAS



#2 thyago_trajano

thyago_trajano
  • Membros
  • 22 posts

Postado 15 November 2011 - 01:38 PM

Vamos por parte....

Para que a busca seja feita no momento em que está sendo feito a digitação você terá que usar o evento "onKeyDown" do campo de texto da busca, colocar ele como AutoPostBack=true....

Pra não ter a piscada na tela toda vez...seria interessante o uso de um updatepanel...ou se você souber como utilizar, fazer diretamente com AJAX...

Na consulta SQL também depois do LIKE tem que ter entre aspas o %...não sei se estou ensinando o pai nosso ao papa, mas funciona assim...

Digamos que o produto seja Câmera Digital

Buscas por:
LIKE '%Dig%' - OK
LIKE '%Câmera%' - OK
LIKE 'Digital%' - NÃO ACHA


Vamos resolver isso primeiro que depois eu passo pra você um componente que eu fiz para o DataGrid em que ao passar o mouse por cima cada linha vai trocando de cor, e ao se clicar é retornado o ID da linha selecionada...
[]'s

Thyago Trajano

"se você viver todos os dias como se fosse o último, provavelmente um dia você acertará..."

#3 FREITAS

FREITAS
  • Membros
  • 38 posts

Postado 15 November 2011 - 06:14 PM

Thyago, desculpe-me mas sou muito iniciante e não entendi o que você disse, mas vê o que fiz, por favor, vê se tem como me orientar dentro do que fiz.

Fiz assim , mas aconteceu que não localizou nada. Inclusive a conexão com o BD Access (conect) no fim da linha de código ficou como não declarada,
Então inseri no código isso:



Dim cs As String = My.Settings.EstoqueConnectionString

Dim conect As New OleDb.OleDbConnection

conect.ConnectionString = cs

conect.Open()



e ficou assim, mas não mudou nada, onde estará o erro.




Private Sub txtPesquisa_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtPesquisa.KeyPress

If Char.IsLower(e.KeyChar) Then

'Converte em maisculo, e coloca na posio correta na TextBox.

txtPesquisa.SelectedText = Char.ToUpper(e.KeyChar)

e.Handled =
True

Dim cs As String = My.Settings.EstoqueConnectionString

Dim conect As New OleDb.OleDbConnection

conect.ConnectionString = cs

conect.Open()


Dim CMD As New OleDb.OleDbCommand("select * from tb_estoque_atual where cod_materiais_produtos Like '" & txtPesquisa.Text & "%'", conect)

End If

End Sub



Obrigadão

FREITAS

#4 thyago_trajano

thyago_trajano
  • Membros
  • 22 posts

Postado 15 November 2011 - 10:11 PM

Poe o código completo pra eu ver...por favor
[]'s

Thyago Trajano

"se você viver todos os dias como se fosse o último, provavelmente um dia você acertará..."

#5 FREITAS

FREITAS
  • Membros
  • 38 posts

Postado 16 November 2011 - 12:23 PM

Boa tarde, Thyago,

Desculpa-me mas só agora na hora do meu almoço é que abri novamente o Forum e vi sua resposta.
Aqui vai o código completo desse Formulário.

Se puder continuar tentando me ajudar ficarei muito, grato. Inclusive no código ainda não tirei a parte da pesquisa que atualmente faço com o botão BUSCAR, mas não me serve assim, por isso peço sua ajuda.


Inclusive acho que faltou eu indicar no código ode vai aparecer o resultadp. Acredito que num textbox, mas se realmente esu estiver certo pode você, por favos, completar isso no código para mim.

Vamos lá:

Public

Class Estoque_Atual_1

Dim acod_materiais_produtos(1) As Integer

Dim amateriais_produtos(1) As String

Dim aunidade(1) As String

Dim aestoque_atual(1) As Integer

Dim aestoque_minimo(1) As Integer

Dim acodigo(1) As String

Dim vmodo As String = "X"

Private Sub Estoque_atualLoad(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
carrega_Estoque_atual_1()

End Sub

Private Sub carrega_Estoque_atual_1()

Dim cs As String = My.Settings.EstoqueConnectionString

Dim conect As New OleDb.OleDbConnection
conect.ConnectionString = cs
conect.Open()

Dim selcom As New OleDb.OleDbCommand
selcom.Connection = conect
selcom.CommandText =
" SELECT * FROM tb_estoque_atual_1 ORDER BY materiais_produtos"

Dim vleitor As OleDb.OleDbDataReader
vleitor = selcom.ExecuteReader()

Dim c As Integer = 0
dgvestoque_atual.Rows.Clear()

Do While vleitor.Read
c = c + 1

ReDim Preserve acod_materiais_produtos©

ReDim Preserve amateriais_produtos©

ReDim Preserve aunidade©

ReDim Preserve aestoque_atual©

ReDim Preserve aestoque_minimo©

ReDim Preserve acodigo©
acod_materiais_produtos© = vleitor(
"cod_materiais_produtos")
amateriais_produtos© = vleitor(
"materiais_produtos")
aunidade© = vleitor(
"unidade")
aestoque_atual© = vleitor(
"estoque_atual")
aestoque_minimo© = vleitor(
"estoque_minimo")
acodigo© = vleitor(
"codigo")

If IsDBNull(vleitor("estoque_minimo")) Then
aestoque_minimo© = 0

Else
aestoque_minimo© = vleitor(
"estoque_minimo")

End If

If IsDBNull(vleitor("estoque_atual")) Then
aestoque_atual© = 0

Else
aestoque_atual© = vleitor(
"estoque_atual")

End If
dgvestoque_atual.Rows.Add(acod_materiais_produtos©, amateriais_produtos©, aunidade©, aestoque_atual©, aestoque_minimo©, acodigo©)

Loop
conect.Close()

End Sub

Private Sub carrega_campos()

Dim ind As Integer = dgvestoque_atual.CurrentRow.Index + 1
txtcod_materiais_produtos.Text = acod_materiais_produtos(ind)
txtMateriais_produtos.Text = amateriais_produtos(ind)
txtUnidade.Text = aunidade(ind)
txtEstoque_atual.Text = aestoque_atual(ind)
txtEstoque_minimo.Text = aestoque_minimo(ind)
txtCodigo.Text = acodigo(ind)

End Sub

Private Sub DgvEstoque_atualSelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dgvestoque_atual.SelectionChanged
carrega_campos()

End Sub

Private Sub btnAlterar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAlterar.Click
vmodo =
"A"
hab_campos()

End Sub

Private Sub hab_campos()
btnIncluir.Enabled =
False
btnAlterar.Enabled =
False
btnExcluir.Enabled =
False
btnCancelar.Enabled =
True
btnConfirmar.Enabled =
True
txtcod_materiais_produtos.Enabled =
True
txtMateriais_produtos.Enabled =
True
txtUnidade.Enabled =
True
txtEstoque_atual.Enabled =
False
txtEstoque_minimo.Enabled =
True

End Sub

Private Sub desab_campos()
btnIncluir.Enabled =
True
btnAlterar.Enabled =
True
btnExcluir.Enabled =
True
btnCancelar.Enabled =
False
btnConfirmar.Enabled =
False
txtcod_materiais_produtos.Enabled =
False
txtMateriais_produtos.Enabled =
False
txtUnidade.Enabled =
False
txtEstoque_atual.Enabled =
False
txtEstoque_minimo.Enabled =
False


End Sub

Private Sub btnCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancelar.Click
desab_campos()
carrega_campos()

End Sub

Private Sub btnConfirmar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConfirmar.Click

If vmodo = "A" Then

Dim cs As String = My.Settings.EstoqueConnectionString

Dim conect As New OleDb.OleDbConnection
conect.ConnectionString = cs

Try
conect.Open()

Dim selcom As New OleDb.OleDbCommand
selcom.Connection = conect
selcom.CommandText =
"UPDATE tb_Estoque_atual SET cod_materiais_produtos=" & txtcod_materiais_produtos.Text _
&
" , materiais_produtos='" & txtMateriais_produtos.Text & "', unidade='" & txtUnidade.Text _
&
"', estoque_minimo='" & txtEstoque_minimo.Text & "' " _
[size=2]& [/size]
[size=2][size=2]"WHERE codigo = "[/size][/size][size=2] & acodigo(dgvestoque_atual.CurrentRow.Index + 1)[/size]
[size=2]selcom.ExecuteNonQuery()[/size]
[size=2]conect.Close()[/size]

[size=2][size=2]Catch[/size][/size][size=2] ex [/size][size=2][size=2]As[/size][/size][size=2] Exception[/size]
[size=2]MessageBox.Show([/size]
[size=2][size=2]"Erro de gravao de dados"[/size][/size][size=2] & vbCrLf & ex.Message, [/size][size=2][size=2]"ERRO"[/size][/size][size=2], MessageBoxButtons.OK, MessageBoxIcon.Error)[/size]

[size=2][size=2]End[/size][/size] [size=2][size=2]Try[/size][/size]
[size=2]desab_campos()[/size]
[size=2]carrega_Estoque_atual_1()[/size]

[size=2][size=2]End[/size][/size] [size=2][size=2]If[/size][/size]

[size=2][size=2]If[/size][/size][size=2] vmodo = [/size][size=2][size=2]"I"[/size][/size] [size=2][size=2]Then[/size][/size]

[size=2][size=2]Dim[/size][/size][size=2] cs [/size][size=2][size=2]As[/size][/size] [size=2][size=2]String[/size][/size][size=2] = [/size][size=2][size=2]My[/size][/size][size=2].Settings.EstoqueConnectionString[/size]

[size=2][size=2]Dim[/size][/size][size=2] conect [/size][size=2][size=2]As[/size][/size] [size=2][size=2]New[/size][/size][size=2] OleDb.OleDbConnection[/size]
[size=2]conect.ConnectionString = cs[/size]

[size=2][size=2]Try[/size][/size]
[size=2]conect.Open()[/size]

[size=2][size=2]Dim[/size][/size][size=2] selcom [/size][size=2][size=2]As[/size][/size] [size=2][size=2]New[/size][/size][size=2] OleDb.OleDbCommand[/size]
[size=2]selcom.Connection = conect[/size]
[size=2]selcom.CommandText = [/size]
[size=2][size=2]"INSERT INTO tb_Estoque_atual ( cod_materiais_produtos, materiais_produtos, unidade, estoque_minimo)"[/size][/size][size=2] & _[/size]

[size=2][size=2]"VALUES ("[/size][/size][size=2] & txtcod_materiais_produtos.Text & [/size][size=2][size=2]", '"[/size][/size][size=2] & (txtMateriais_produtos.Text & Space(120)).Substring(0, 120) & [/size][size=2][size=2]", "[/size][/size][size=2] & txtUnidade.Text & [/size][size=2][size=2]" ','"[/size][/size][size=2] & txtEstoque_minimo.Text & [/size][size=2][size=2]" )"[/size][/size]



[size=2][size=2]If[/size][/size][size=2] selcom.ExecuteNonQuery() [/size][size=2][size=2]Then[/size][/size]
[size=2]MsgBox([/size]
[size=2][size=2]"tem includo com sucesso"[/size][/size][size=2])[/size]

[size=2][size=2]Else[/size][/size]
[size=2]MsgBox([/size]
[size=2][size=2]"Erro tem no includo"[/size][/size][size=2])[/size]

[size=2][size=2]End[/size][/size] [size=2][size=2]If[/size][/size]
[size=2]conect.Close()[/size]

[size=2][size=2]Catch[/size][/size][size=2] ex [/size][size=2][size=2]As[/size][/size][size=2] Exception[/size]
[size=2]MessageBox.Show([/size]
[size=2][size=2]"Erro de gravao de dados"[/size][/size][size=2] & vbCrLf & ex.Message, [/size][size=2][size=2]"ERRO"[/size][/size][size=2], MessageBoxButtons.OK, MessageBoxIcon.Error)[/size]

[size=2][size=2]End[/size][/size] [size=2][size=2]Try[/size][/size]
[size=2]desab_campos()[/size]
[size=2]carrega_Estoque_atual_1()[/size]

[size=2][size=2]End[/size][/size] [size=2][size=2]If[/size][/size]

[size=2][size=2]If[/size][/size][size=2] vmodo = [/size][size=2][size=2]"E"[/size][/size] [size=2][size=2]Then[/size][/size]

[size=2][size=2]Dim[/size][/size][size=2] cs [/size][size=2][size=2]As[/size][/size] [size=2][size=2]String[/size][/size][size=2] = [/size][size=2][size=2]My[/size][/size][size=2].Settings.EstoqueConnectionString[/size]

[size=2][size=2]Dim[/size][/size][size=2] conect [/size][size=2][size=2]As[/size][/size] [size=2][size=2]New[/size][/size][size=2] OleDb.OleDbConnection[/size]
[size=2]conect.ConnectionString = cs[/size]

[size=2][size=2]Try[/size][/size]
[size=2]conect.Open()[/size]

[size=2][size=2]Dim[/size][/size][size=2] selcom [/size][size=2][size=2]As[/size][/size] [size=2][size=2]New[/size][/size][size=2] OleDb.OleDbCommand[/size]
[size=2]selcom.Connection = conect[/size]
[size=2]selcom.CommandText = [/size]
[size=2][size=2]" DELETE FROM tb_Estoque_atual WHERE codigo = "[/size][/size][size=2] & acodigo(dgvestoque_atual.CurrentRow.Index + 1)[/size]

[size=2][size=2]If[/size][/size][size=2] selcom.ExecuteNonQuery() [/size][size=2][size=2]Then[/size][/size]
[size=2]MsgBox([/size]
[size=2][size=2]"tem excludo com sucesso"[/size][/size][size=2])[/size]

[size=2][size=2]Else[/size][/size]
[size=2]MsgBox([/size]
[size=2][size=2]"Erro tem no excludo"[/size][/size][size=2])[/size]

[size=2][size=2]End[/size][/size] [size=2][size=2]If[/size][/size]
[size=2]conect.Close()[/size]

[size=2][size=2]Catch[/size][/size][size=2] ex [/size][size=2][size=2]As[/size][/size][size=2] Exception[/size]
[size=2]MessageBox.Show([/size]
[size=2][size=2]"Erro de gravao de dados"[/size][/size][size=2] & vbCrLf & ex.Message, [/size][size=2][size=2]"ERRO"[/size][/size][size=2], MessageBoxButtons.OK, MessageBoxIcon.Exclamation)[/size]

[size=2][size=2]End[/size][/size] [size=2][size=2]Try[/size][/size]
[size=2]desab_campos()[/size]
[size=2]carrega_Estoque_atual_1()[/size]

[size=2][size=2][color=#0000FF]End[/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]If[/color][/size][/color][/size]

[size=2][color=#0000FF][size=2][color=#0000FF]End[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]Sub[/color][/size][/color][/size]

[size=2][color=#0000FF][size=2][color=#0000FF]Private[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]Sub[/color][/size][/color][/size][size=2] btnIncluir_Click([/size][size=2][color=#0000FF][size=2][color=#0000FF]ByVal[/color][/size][/color][/size][size=2] sender [/size][size=2][color=#0000FF][size=2][color=#0000FF]As[/color][/size][/color][/size][size=2] System.Object, [/size][size=2][color=#0000FF][size=2][color=#0000FF]ByVal[/color][/size][/color][/size][size=2] e [/size][size=2][color=#0000FF][size=2][color=#0000FF]As[/color][/size][/color][/size][size=2] System.EventArgs) [/size][size=2][color=#0000FF][size=2][color=#0000FF]Handles[/color][/size][/color][/size][size=2] btnIncluir.Click[/size]
[size=2]hab_campos()[/size]
[size=2]vmodo = [/size]
[size=2][color=#A31515][size=2][color=#A31515]"I"[/color][/size][/color][/size]
[size=2]txtcod_materiais_produtos.Text = [/size]
[size=2][color=#A31515][size=2][color=#A31515]""[/color][/size][/color][/size]
[size=2]txtMateriais_produtos.Text = [/size]
[size=2][color=#A31515][size=2][color=#A31515]""[/color][/size][/color][/size]
[size=2]txtUnidade.Text = [/size]
[size=2][color=#A31515][size=2][color=#A31515]""[/color][/size][/color][/size]
[size=2]txtEstoque_atual.Text = [/size]
[size=2][color=#A31515][size=2][color=#A31515]""[/color][/size][/color][/size]
[size=2]txtEstoque_minimo.Text = [/size]
[size=2][color=#A31515][size=2][color=#A31515]""[/color][/size][/color][/size]
[size=2]txtcod_materiais_produtos.Focus()[/size]

[size=2][color=#0000FF][size=2][color=#0000FF]End[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]Sub[/color][/size][/color][/size]

[size=2][color=#0000FF][size=2][color=#0000FF]Private[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]Sub[/color][/size][/color][/size][size=2] txtMateriais_produtos_TextChanged([/size][size=2][color=#0000FF][size=2][color=#0000FF]ByVal[/color][/size][/color][/size][size=2] sender [/size][size=2][color=#0000FF][size=2][color=#0000FF]As[/color][/size][/color][/size][size=2] System.Object, [/size][size=2][color=#0000FF][size=2][color=#0000FF]ByVal[/color][/size][/color][/size][size=2] e [/size][size=2][color=#0000FF][size=2][color=#0000FF]As[/color][/size][/color][/size][size=2] System.EventArgs) [/size][size=2][color=#0000FF][size=2][color=#0000FF]Handles[/color][/size][/color][/size][size=2] txtMateriais_produtos.TextChanged[/size]

[size=2][color=#0000FF][size=2][color=#0000FF]If[/color][/size][/color][/size][size=2] txtMateriais_produtos.Text.Length > 120 [/size][size=2][color=#0000FF][size=2][color=#0000FF]Then[/color][/size][/color][/size]
[size=2]MessageBox.Show([/size]
[size=2][color=#A31515][size=2][color=#A31515]"Digite no mximo 120 caracteres"[/color][/size][/color][/size][size=2], [/size][size=2][color=#A31515][size=2][color=#A31515]"ERRO"[/color][/size][/color][/size][size=2], MessageBoxButtons.OK, MessageBoxIcon.Exclamation)[/size]

[size=2][color=#0000FF][size=2][color=#0000FF]End[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]If[/color][/size][/color][/size]

[size=2][color=#0000FF][size=2][color=#0000FF]End[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]Sub[/color][/size][/color][/size]

[size=2][color=#0000FF][size=2][color=#0000FF]Private[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]Sub[/color][/size][/color][/size][size=2] btnExcluir_Click([/size][size=2][color=#0000FF][size=2][color=#0000FF]ByVal[/color][/size][/color][/size][size=2] sender [/size][size=2][color=#0000FF][size=2][color=#0000FF]As[/color][/size][/color][/size][size=2] System.Object, [/size][size=2][color=#0000FF][size=2][color=#0000FF]ByVal[/color][/size][/color][/size][size=2] e [/size][size=2][color=#0000FF][size=2][color=#0000FF]As[/color][/size][/color][/size][size=2] System.EventArgs) [/size][size=2][color=#0000FF][size=2][color=#0000FF]Handles[/color][/size][/color][/size][size=2] btnExcluir.Click[/size]
[size=2]MsgBox([/size]
[size=2][color=#A31515][size=2][color=#A31515]"Para excluir o Usurio, clique em confirmar"[/color][/size][/color][/size][size=2])[/size]
[size=2]hab_campos()[/size]
[size=2]vmodo = [/size]
[size=2][color=#A31515][size=2][color=#A31515]"E"[/color][/size][/color][/size]

[size=2][color=#0000FF][size=2][color=#0000FF]End[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]Sub[/color][/size][/color][/size]

[size=2][color=#0000FF][size=2][color=#0000FF]Sub[/color][/size][/color][/size][size=2] buscar_materiais_produtos()[/size]

[size=2][color=#0000FF][size=2][color=#0000FF]Dim[/color][/size][/color][/size][size=2] cs [/size][size=2][color=#0000FF][size=2][color=#0000FF]As[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]String[/color][/size][/color][/size][size=2] = [/size][size=2][color=#0000FF][size=2][color=#0000FF]My[/color][/size][/color][/size][size=2].Settings.EstoqueConnectionString[/size]

[size=2][color=#0000FF][size=2][color=#0000FF]Dim[/color][/size][/color][/size][size=2] conect [/size][size=2][color=#0000FF][size=2][color=#0000FF]As[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]New[/color][/size][/color][/size][size=2] OleDb.OleDbConnection[/size]
[size=2]conect.ConnectionString = cs[/size]
[size=2]conect.Open()[/size]

[size=2][color=#0000FF][size=2][color=#0000FF]Dim[/color][/size][/color][/size][size=2] CMD [/size][size=2][color=#0000FF][size=2][color=#0000FF]As[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]New[/color][/size][/color][/size][size=2] OleDb.OleDbCommand([/size][size=2][color=#A31515][size=2][color=#A31515]"select * from tb_estoque_atual_1 where materiais_produtos Like '%"[/color][/size][/color][/size][size=2] & txtPesquisa.Text & [/size][size=2][color=#A31515][size=2][color=#A31515]"%'"[/color][/size][/color][/size][size=2], conect)[/size]

[size=2][color=#0000FF][size=2][color=#0000FF]Dim[/color][/size][/color][/size][size=2] DR [/size][size=2][color=#0000FF][size=2][color=#0000FF]As[/color][/size][/color][/size][size=2] OleDb.OleDbDataReader[/size]
[size=2]DR = CMD.ExecuteReader[/size]

[size=2][color=#0000FF][size=2][color=#0000FF]If[/color][/size][/color][/size][size=2] DR.Read [/size][size=2][color=#0000FF][size=2][color=#0000FF]Then[/color][/size][/color][/size]
[size=2]txtMateriais_produtos.Text = DR(0)[/size]
[size=2]txtcod_materiais_produtos.Text = DR(1)[/size]
[size=2]txtUnidade.Text = DR(2)[/size]
[size=2]txtEstoque_atual.Text = DR(3)[/size]
[size=2]txtEstoque_minimo.Text = DR(4)[/size]
[size=2]txtCodigo.Text = DR(5)[/size]


[size=2][color=#0000FF][size=2][color=#0000FF]Else[/color][/size][/color][/size]
[size=2]MsgBox([/size]
[size=2][color=#A31515][size=2][color=#A31515]"Erro de busca, tente novamente"[/color][/size][/color][/size][size=2])[/size]

[size=2][color=#0000FF][size=2][color=#0000FF]End[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]If[/color][/size][/color][/size]
[size=2]conect.Close()[/size]

[size=2][color=#0000FF][size=2][color=#0000FF]End[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]Sub[/color][/size][/color][/size]

[size=2][color=#0000FF][size=2][color=#0000FF]Private[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]Sub[/color][/size][/color][/size][size=2] btnBuscar_Click([/size][size=2][color=#0000FF][size=2][color=#0000FF]ByVal[/color][/size][/color][/size][size=2] sender [/size][size=2][color=#0000FF][size=2][color=#0000FF]As[/color][/size][/color][/size][size=2] System.Object, [/size][size=2][color=#0000FF][size=2][color=#0000FF]ByVal[/color][/size][/color][/size][size=2] e [/size][size=2][color=#0000FF][size=2][color=#0000FF]As[/color][/size][/color][/size][size=2] System.EventArgs) [/size][size=2][color=#0000FF][size=2][color=#0000FF]Handles[/color][/size][/color][/size][size=2] btnBuscar.Click[/size]
[size=2]buscar_materiais_produtos()[/size]
[size=2]txtPesquisa.Text = [/size]
[size=2][color=#A31515][size=2][color=#A31515]""[/color][/size][/color][/size]
[size=2]txtPesquisa.Focus()[/size]


[size=2][color=#0000FF][size=2][color=#0000FF]End[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]Sub[/color][/size][/color][/size]

[size=2][color=#0000FF][size=2][color=#0000FF]Private[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]Sub[/color][/size][/color][/size][size=2] estoque_atual_1_KeyDown([/size][size=2][color=#0000FF][size=2][color=#0000FF]ByVal[/color][/size][/color][/size][size=2] sender [/size][size=2][color=#0000FF][size=2][color=#0000FF]As[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]Object[/color][/size][/color][/size][size=2], [/size][size=2][color=#0000FF][size=2][color=#0000FF]ByVal[/color][/size][/color][/size][size=2] e [/size][size=2][color=#0000FF][size=2][color=#0000FF]As[/color][/size][/color][/size][size=2] System.Windows.Forms.KeyEventArgs) [/size][size=2][color=#0000FF][size=2][color=#0000FF]Handles[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]Me[/color][/size][/color][/size][size=2].KeyDown[/size]

[size=2][color=#0000FF][size=2][color=#0000FF]Select[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]Case[/color][/size][/color][/size][size=2] e.KeyCode [/size][size=2][color=#008000][size=2][color=#008000]'para transformar tecla enter em tab[/color][/size][/color][/size]

[size=2][color=#0000FF][size=2][color=#0000FF]Case[/color][/size][/color][/size][size=2] Keys.Enter[/size]
[size=2]SendKeys.Send([/size]
[size=2][color=#A31515][size=2][color=#A31515]"{Tab}"[/color][/size][/color][/size][size=2])[/size]

[size=2][color=#0000FF][size=2][color=#0000FF]End[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]Select[/color][/size][/color][/size]

[size=2][color=#0000FF][size=2][color=#0000FF]End[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]Sub[/color][/size][/color][/size]

[size=2][color=#0000FF][size=2][color=#0000FF]Private[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]Sub[/color][/size][/color][/size][size=2] txtPesquisa_KeyPress([/size][size=2][color=#0000FF][size=2][color=#0000FF]ByVal[/color][/size][/color][/size][size=2] sender [/size][size=2][color=#0000FF][size=2][color=#0000FF]As[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]Object[/color][/size][/color][/size][size=2], [/size][size=2][color=#0000FF][size=2][color=#0000FF]ByVal[/color][/size][/color][/size][size=2] e [/size][size=2][color=#0000FF][size=2][color=#0000FF]As[/color][/size][/color][/size][size=2] System.Windows.Forms.KeyPressEventArgs) [/size][size=2][color=#0000FF][size=2][color=#0000FF]Handles[/color][/size][/color][/size][size=2] txtPesquisa.KeyPress[/size]

[size=2][color=#0000FF][size=2][color=#0000FF]If[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]Char[/color][/size][/color][/size][size=2].IsLower(e.KeyChar) [/size][size=2][color=#0000FF][size=2][color=#0000FF]Then[/color][/size][/color][/size]

[size=2][color=#008000][size=2][color=#008000]'Converte em maisculo, e coloca na posio correta na TextBox.[/color][/size][/color][/size]
[size=2]txtPesquisa.SelectedText = [/size]
[size=2][color=#0000FF][size=2][color=#0000FF]Char[/color][/size][/color][/size][size=2].ToUpper(e.KeyChar)[/size]
[size=2]e.Handled = [/size]
[size=2][color=#0000FF][size=2][color=#0000FF]True[/color][/size][/color][/size]



[size=2][color=#0000FF][size=2][color=#0000FF]Dim[/color][/size][/color][/size][size=2] cs [/size][size=2][color=#0000FF][size=2][color=#0000FF]As[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]String[/color][/size][/color][/size][size=2] = [/size][size=2][color=#0000FF][size=2][color=#0000FF]My[/color][/size][/color][/size][size=2].Settings.EstoqueConnectionString[/size]

[size=2][color=#0000FF][size=2][color=#0000FF]Dim[/color][/size][/color][/size][size=2] conect [/size][size=2][color=#0000FF][size=2][color=#0000FF]As[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]New[/color][/size][/color][/size][size=2] OleDb.OleDbConnection[/size]
[size=2]conect.ConnectionString = cs[/size]
[size=2]conect.Open()[/size]

[size=2][color=#0000FF][size=2][color=#0000FF]Dim[/color][/size][/color][/size][size=2] CMD [/size][size=2][color=#0000FF][size=2][color=#0000FF]As[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]New[/color][/size][/color][/size][size=2] OleDb.OleDbCommand([/size][size=2][color=#A31515][size=2][color=#A31515]"select * from tb_estoque_atual where cod_materiais_produtos Like '"[/color][/size][/color][/size][size=2] & txtPesquisa.Text & [/size][size=2][color=#A31515][size=2][color=#A31515]"%'"[/color][/size][/color][/size][size=2], conect)[/size]
[size=2]conect.Close()[/size]

[size=2][color=#0000FF][size=2][color=#0000FF]End[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]If[/color][/size][/color][/size]

[size=2][color=#0000FF][size=2][color=#0000FF]End[/color][/size][/color][/size] [size=2][color=#0000FF][size=2][color=#0000FF]Sub[/color][/size][/color][/size]

[size=2][color=#0000FF][size=2][color=#0000FF]End[/color][/size][/color][/size]

[size=2][color=#0000FF][size=2][color=#0000FF]Class[/color][/size][/color][/size]


Desde já, meu muito

Obrigado

#6 FREITAS

FREITAS
  • Membros
  • 38 posts

Postado 17 November 2011 - 12:17 PM

Boa tarde, Thyago,

Acho que conseguimos resolver o problema da consulta. Só queria que me orientasse o seguite:

No DataGridView não fica selecionando as linhas de acordo com a pesquisa, tem como fazer isso?
Porque a busca agora está aparecendo do TextBox_Materiais_produtos, e nos demais campos do Formulário os dados à medida que vou digitando, mas no DataGridView, acho que seria interessante, porque numa cadastro grande, a linha do produto selecionado viria para a parte de cima do DataGridView e era só eu clicar e estaria selecionado o Produto desejado. Tem como fazer isso. Abaixo o Código que usei para a Busca que está dando certo sem selecionar no DataGridView.



Private Sub txtCod_materiais_produtos_LostFocus(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtcod_materiais_produtos.LostFocus, txtcod_materiais_produtos.LostFocus
Dim cs As String = My.Settings.EstoqueConnectionString
Dim conect As New OleDb.OleDbConnection
conect.ConnectionString = cs
conect.Open()
Dim selcom As New OleDb.OleDbCommand
selcom.Connection = conect
selcom.CommandText = "SELECT cod_materiais_produtos, *FROM tb_cadastro_materiais_produtos WHERE cod_materiais_produtos =" & txtcod_materiais_produtos.Text
Try
Dim vprod As String = selcom.ExecuteScalar
If vprod <> "" Then
txtcod_materiais_produtos.Text = vprod
MessageBox.Show("Código já cadastrado, digite outro código")
txtcod_materiais_produtos.Text = ""
lblMateriais_produtos.Text = ""
txtMateriais_produtos.Text = ""
txtcod_materiais_produtos.Focus()

End If
Catch ex As Exception

End Try
End Sub

End Class


Muito Obrigado

FREITAS




1 usuário(s) está(ão) lendo este tópico

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)