Visual Basic.NET - BUSCAR CON EL DATAGRIDVIEW EN B.D.(ACCESS)

 
Vista:

BUSCAR CON EL DATAGRIDVIEW EN B.D.(ACCESS)

Publicado por JuanChevere (1 intervención) el 13/01/2009 03:31:30
Hola, necesito su ayuda, estoy ingresando un codigo en la 1º columna del DATAGRIDVIEW y al dar enter lo busca en la tabla producto de la base de dato mercaderia .Una vez encontrado el codigo se despliege el nombre ,el precio y la fecha de vencimiento En la 2º, 3º y 4º columna del DATAGRIDVIEW y asi sucesivamente en las siguientes filas de este control a medida que sigo digitando mas codigos.
Esta operación lo quiero hace directamente en el DATAGRIDVIEW , no quiero utilizar otros controles adicionales como TEXTBOX , BUTTON, etc…,
NOTA: me gustaria que una vez encontrado el codigo al darle enter el focus se posicione en la 5º columna para digitar la cantidad y al volver a darle enter se posicione en la siguiente fila , y si no encontrara el codigo al darle enter se mantenga en la misma celda.
Estoy trabajando con este codigo, pero no consigo el objetivo.
Espero su ayuda
Gracias.
Atte.
JuanChevere

Public Class Form1
Dim Encontrado As Boolean = False
Dim query As OleDb.OleDbDataReader
Dim cn As OleDb.OleDbConnection
Dim str As String
Dim cmd As OleDb.OleDbCommand
Private Sub DataGridView1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles DataGridView1.KeyPress

cn = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:Documents and SettingsAdministradorMis documentosMERCADERIA.mdb")
cn.Open()
For i As Integer = 0 To DataGridView1.Rows.Count - 1
str = "SELECT * FROM producto where CODIGO = '" & _ DataGridView1.Rows(i).Cells(0).Value.ToString() & "'"
cmd = New OleDb.OleDbCommand(str, cn)
query = cmd.ExecuteReader
While query.Read()
Encontrado = True
DataGridView1.Rows(i).Cells(1).Value = query.GetString(1)
DataGridView1.Rows(i).Cells(2).Value = query.GetInt32(2)
DataGridView1.Rows(i).Cells(3).Value = query.GetInt32(2)
End While
Next

If Not Encontrado Then
MsgBox("CODIGO NO REGISTRADO")
DataGridView1.Rows(0).Cells(1).Value = ""

Else
MsgBox("CODIGO REGISTRADO")
End If
cn.Close()
End Sub

End Class
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder