Ir para conteúdo



Pesquisa por Número de Requisição


  • Por favor, faça o login para responder
Não há respostas para este tópico

#1 FREITAS

FREITAS
  • Membros
  • 38 posts

Postado 26 November 2011 - 08:32 PM

Boa noite,
Peço a ajuda de vocês para o seguitnte:
Criei um Formulário de Pesquisa por nº de Requisição, só que está acontecendo algo muito estranho.
Eu abro o Formulário de Pesquisa e digito no campo "Num_requisição o número que desejo buscar no BD Access, tipo 25 então ele abre os dados do primeiro código cadastrado , o código nº 1, o primeiro do Data GridView, independente do nº da requisição digitado, o nº digitado para pesquisa continua lá sem ser apagado, aí eu dou um enter e ele mostra todos os dados do código digitado. Limpo o campo e digito outro código, tipo 45 assim que digito o código ele mosta o primeiro código cadastrado novamente 0 nº 1 novamente, a cada vez que digito um novo número de requisição para pesquisa ele mostra os dados do código primeiro no DataGridView então dou um enter aí mostra os dados do código digitado o qual realmente quero buscar, no caso o código 45. Abaixo transcrevo todo o código que tenho nesse Formulário, será que descobrem onde está o erro. Parece que funciona como um duplo clic não sei...
Aguardo a ajuda de todos vocês, por favor.


Public Class Requisições
Dim acod_materiais_produtos(1) As Integer
Dim amateriais_produtos(1) As String
Dim aunidade(1) As String
Dim arequisicoes(1) As Integer
Dim adata_de_saida(1) As String
Dim asaidas(1) As Integer
Dim adepartamento_requisitante(1) As String
Dim asupervisao_requisitante(1) As String
Private Sub Estoque_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
carrega_Requisições()
End Sub
Private Sub carrega_Requisições()
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 ORDER BY requisicoes"
Dim vleitor As OleDb.OleDbDataReader
vleitor = selcom.ExecuteReader()
Dim c As Integer = 0
dgvestoque.Rows.Clear()
Do While vleitor.Read
c = c + 1
ReDim Preserve acod_materiais_produtos©
ReDim Preserve amateriais_produtos©
ReDim Preserve aunidade©
ReDim Preserve arequisicoes©
ReDim Preserve adata_de_saida©
ReDim Preserve asaidas©
ReDim Preserve adepartamento_requisitante©
ReDim Preserve asupervisao_requisitante©
acod_materiais_produtos© = vleitor("cod_materiais_produtos")
amateriais_produtos© = vleitor("materiais_produtos")
aunidade© = vleitor("unidade")
arequisicoes© = vleitor("requisicoes")
adata_de_saida© = vleitor("data_de_saida")
asaidas© = vleitor("saidas")
adepartamento_requisitante© = vleitor("departamento_requisitante")
asupervisao_requisitante© = vleitor("supervisao_requisitante")
dgvestoque.Rows.Add(acod_materiais_produtos©, amateriais_produtos©, aunidade©, arequisicoes©, adata_de_saida©, asaidas©, adepartamento_requisitante©, asupervisao_requisitante©)
Loop
conect.Close()
End Sub
Private Sub carrega_campos()
Dim ind As Integer = dgvestoque.CurrentRow.Index + 1
txtCod_materiais_produtos.Text = acod_materiais_produtos(ind)
txtMateriais_produtos.Text = amateriais_produtos(ind)
txtUnidade.Text = aunidade(ind)
txtRequisicoes.Text = arequisicoes(ind)
MaskedData_de_saida.Text = adata_de_saida(ind)
txtsaidas.Text = asaidas(ind)
txtDepartamento_requisitante.Text = adepartamento_requisitante(ind)
txtSupervisao_requisitante.Text = asupervisao_requisitante(ind)
End Sub
Private Sub DgvEstoque_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dgvestoque.SelectionChanged
carrega_campos()
End Sub
Private Sub txtNum_requisicao_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtNum_requisicao.LostFocus
If txtNum_requisicao.Text.Length > 7 Then
MessageBox.Show("Digite no máximo 7 caracteres", "ERRO", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
txtNum_requisicao.Text = ""
txtNum_requisicao.Focus()
End If
End Sub


Private Sub txtNum_requisicao_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtNum_requisicao.KeyPress
Dim cs As String = My.Settings.EstoqueConnectionString
Dim conect As New OleDb.OleDbConnection
conect.ConnectionString = cs
conect.Open()
'Para efetuar a busca e levar os dados para os campos ao ir digitando
Dim CMD As New OleDb.OleDbCommand("select * from tb_estoque where requisicoes Like '%" & txtNum_requisicao.Text & "%'", conect)


Dim DR As OleDb.OleDbDataReader
DR = CMD.ExecuteReader
If DR.Read Then
txtCod_materiais_produtos.Text = DR(5)
txtMateriais_produtos.Text = DR(6)
txtUnidade.Text = DR(7)
txtRequisicoes.Text = DR(10)
MaskedData_de_saida.Text = DR(11)
txtsaidas.Text = DR(12)
txtDepartamento_requisitante.Text = DR(13)
txtSupervisao_requisitante.Text = DR(14)

Else
MsgBox("Requisição não existe no cadastro, digite o número corretamente")
End If
conect.Close()
buscar_requisicoes()
End Sub


Sub buscar_requisicoes()

End Sub
End Class

Obrigado



FREITAS






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

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