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

    Question

  • 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 

    Wednesday, January 05, 2011 2:37 AM

All replies

  • 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
    Wednesday, January 05, 2011 5:12 AM
  • Gracias Leandro

    Trataré de hacerlo con Linq. Cualquier cosa te vuelvo a consultar

    Saludos

    Juan López

    Maracay, Venezuela

    Wednesday, January 05, 2011 5:41 AM
  • 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

    Wednesday, January 05, 2011 9:14 PM
  • hola

    estoy elaborando un trabajo en visual basic 2008 e hice una base de datos en access 2007, pero  necesito programar los botones de agregar, eliminar, guardar, modificar y editar desde visual,

    gracias por colaborarme


    Thursday, January 06, 2011 8:45 PM
  • 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.

    Sunday, January 09, 2011 7:51 PM
  • 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
    Tuesday, January 11, 2011 5:35 AM
  • 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??

    Tuesday, January 31, 2012 4:33 AM
  • La verdad mas o menos no lo tengo muy claro...

    Thursday, March 08, 2012 3:35 AM