Usuario
¿Como creo el codigo para un boton "buscar" en una base de datos access 2007 en Visual Basic 2008

Pregunta
-
Hola a todos
Soy nuevo en esto y estoy trabajando con visual basic express 2008. Hice una base de datos en acces 2007 de clientes asignando un ID a cada cliente como llave pricipal. Logre crear el data grid view Table Adapter, etc.; de forma que logre visualizar la base de datos, agrgear, eliminar, guardar datos y mover de posicion,etc. Ahora quiero crear un cuadro de texto donde coloque el ID del cliente y al pulsar el boton buscar lo muestre en el data grid, ya que la base de datos es grande y es una forma de buscar mas rapido que el movefirst,last,previous o next Muchos codigos que he visto habla de un "recordset", pero creo que esto ya no se aplica para visual 2008 ya que he tratado de ingresarlo y me arroga errores; además ni siquiera aparece en el intellSense.
Gracias de antemano
Todas las respuestas
-
hola
no te animas a usar linq para buscar directo sobre el DataGridView el registro que coincide y mostrarlo al usuario
DataGridView – Búsqueda con Linq
tambien pdorias guiarte por esta otra consulta
http://social.msdn.microsoft.com/Forums/es-ES/vbes/thread/10f98161-b3c5-4662-87aa-86a102581adc
alli modifica algo la query para seleccionar la fila completa
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina -
-
Hola Leandro
Sigo con dudas.
Tal como lo indique cree una base de datos tanto en acces como SQL en para probar . Arrastré en forma de datagrid a un formulario para visualizarlo y al lado texboxs relacionados a cada columna(Código, Cliente, Rif; Dirección y COndiciones de Pago) de la base de datos. Coloque un boton para agregar nuevos registros a esa base de datos segun el contenido de cada textbox correspondiente, tambien puse un boto para, eliminar, modificar un registro existente y moverme dentro del grid (Moveprevious, next,etc....)Adapte el progama del link que me indicaste antes a mi programa y al depurarlo cuando coloco en tiempo de ejecucionr un nombre en el textbox de busqueda y al pusar el boton buscar (para que muestre en el grid la celdas del registroa buscar) me saca el error "No se pudo encontrar la columna Codigo"..., y marca la parte del codigo donde se aplica el filtro. De seguro hay algo que estoy haciendo mal. Esta es la funcion sub cuando se pulsa el boton buscar
Private Sub Buscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Buscar.Click
Dim busqueda As String = TextBox1.Text
If String.IsNullOrEmpty(busqueda) Then
MsgBox(
"Debe ingresar un valor a buscar", 48, "Cuadro de Dialogo")
Return
End If
For Each cell As DataGridViewCell In ClientesDataGridView.SelectedCells
cell.Selected =
False
next
Dim rows As List(Of DataGridViewRow) = (From item In ClientesDataGridView.Rows.Cast(Of DataGridViewRow)() _
Let Codigo = Convert.ToString(If(item.Cells("Codigo").Value, String.Empty)) _
Let RazonSocial = Convert.ToString(If(item.Cells("Razon Social").Value, String.Empty)) _
Let Rif = Convert.ToString(If(item.Cells("Rif").Value, String.Empty)) _
Let DireccionFiscal = Convert.ToString(If(item.Cells("Direccion").Value, String.Empty)) _
Let CondicionesdePago = Convert.ToString(If(item.Cells("Condiciones de Pago").Value, String.Empty)) _
Where Codigo.Contains(busqueda) OrElse RazonSocial.Contains(busqueda) OrElse Rif.Contains(busqueda) _
OrElse DireccionFiscal.Contains(busqueda) OrElse CondicionesdePago.Contains(busqueda) _
Select item).ToList()
For Each row As DataGridViewRow In rows
Dim cells As List(Of DataGridViewCell) = (From item In row.Cells.Cast(Of DataGridViewCell)() _
Let cell = Convert.ToString(item.Value) _
Where cell.Contains(busqueda) _
Select item).ToList()
For Each item As DataGridViewCell In cells
item.Selected =
True
Next
Next
end sub
Espero tu oportuno comentario
saludos
-
-
Hola,
Disculpa La Tardanza
Una vez que tengas elnzado la base de datos es facil agregar los botones. Por ejemplo boton guardar
Private
Sub Guardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Guardar.Click
Me.ClientesTableAdapter.Update(Me.ClientesDataSet)
Boton Eliminar
Private Sub Eliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Eliminar.Click
Me.ClientesBindingSource.RemoveCurrent()
Boton modificar
Se selecciona en el grid la fila y se modifica.
-
hola,
Amigo en este Tutorial vas a encontral todo el detalle que dijiste arriba suerte
http://www.elguille.info/NET/ADONET/ejemplo_adonet_bases_tipo_access.htm
un saludo
Enmanuel Grullard@Developer ASP.NET,ASP.NET MVC C#.NET -
Es muy facil men en c# es:
this.dss = new OleDbDataAdapter("SELECT Nombre, Edad, Telefono FROM Tabla1 WHERE ID = NUMERO", con);
LA CLAVE ES EL EL WHERE id = NUMERO, CON ES DE TIPO OleDbConnection
LO INTERESANTE ES BUSCAR USANDO OTRA CARACTERISTICA POR EJEMPLO UN NOMBRE O UN TELEFOENO NO SOLO POR EL ID DE LA BASE DE DATOS, SI SAVES COMO HACER ESTO??
-