martes, 26 de febrero de 2013

Cargar tabla de access en un ListBox en Visual Basic 2010


Hola todos después de mucho tiempo sin postear nada por aquí  por razones laborales, hoy nuevamente aparezco y espero seguir posteando mas códigos que se que sera de ayuda a mas de uno.
bueno entremos en materia, hoy les quiero enseñar como mostrar un campo de una tabla de una Bd de access en un control listbox, es muy fácil y necesario a la hora de desarrollar cualquier aplicación, explicare desde como conectarnos con la Base de datos hasta como mostrar los datos en el listbox.

bueno lo primero que tenemos que hacer es crear nuestra conexión para esto agregamos un modulo a nuestro proyecto y dentro de el colocamos el siguiente código:
Imports System.Data
Imports System.Data.OleDb
Module Conexion_bd
   
    Public Conexion As ADODB.Connection
    Public Cadena As String
    '//sub que realiza la conexion con la base de datos
    Public Sub Conectarse()
        Conexion = New ADODB.Connection
        '//especifico el provedor de datos y la ruta donde se encuentra la base de datos
        '//que en este caso se encuentra en el path de nuestro ejecutable
        Try
            Cadena = "Provider=Microsoft.jet.OLEDB.4.0; Data Source=" + My.Application.Info.DirectoryPath + "\miBD.mdb"
            Conexion.Open(Cadena)
        Catch ex As OleDb.OleDbException
            MessageBox.Show("No se ha podido conectar al servidor " + ex.Message)
        End Try
    End Sub
End Module

Después de esto deberás agregar la referencia  Microsoft ActiveX Data  Objetivo 2,6 para ello ve al menú
Proyecto >> Agregar referencia >> en la ventana que sale le damos en la Opción COM y seleccionamos nuestra referencia y hacemos click en el botón Aceptar

Luego agreguen a su formulario un boton y  un ListBox deberia quedar algo como esto:


ok lo que haremos ahora es hacer doble click sobre nuestro boton y luego agregar en siguiente codigo:
Imports System.Data 
Imports System.Data.OleDb 
Module Conexion_bd 
Public Conexion As ADODB.Connection Public Cadena As String 
'//sub que realiza la conexion con la base de datos 
Public Sub Conectarse() 
Conexion = New ADODB.Connection 
 '//especifico el provedor de datos y la ruta donde se encuentra la base de datos 
'//que en este caso se encuentra en el path de nuestro ejecutable 
 Try 
Cadena = "Provider=Microsoft.jet.OLEDB.4.0; Data Source=" + My.Application.Info.DirectoryPath + "\miBD.mdb" 
Conexion.Open(Cadena) 
Catch ex As OleDb.OleDbException MessageBox.Show("No se ha podido conectar al servidor " + ex.Message) 
End Try 
End Sub 
End Module



La idea es que al hacer click sobre el boton conectar, este cargue el campo "Campo1" de nuestra tabla, asi que solo queda ejecutar la aplicacion para verificar que el codigo este funcionando bien Suerte!! jojojo

6 comentarios:

  1. gracias!!! sirvio mucho

    ResponderEliminar
  2. Hola, estoy aprendiendo a utilizar visual basic net, hasta ahora he utilizado base de datos de access, lo que necesito es que si me explica como programar 3 combobox dependientes, utilizando access, y también como se deberían de guardar los datos en las tablas de access. es como un tipo de inventario que estoy realizando de productos pero estos tienen distintas especificaciones y categorias. la idea es que si se ingresa un nuevo producto se pueda agregar a la tabla de access para que se almacene la información, ojala poder contar con tu ayuda. por favor!

    ResponderEliminar
  3. Hola nancy, bueno intentare responder lo que te entendí si estoy equivocado por favor me corriges.
    ¿Como programar 3 combobox independientes?
    mira el código que publique te permite cargar un determinado campo de una tabla en un control combobox, solo utilízalo las veces que necesites cargar un combobox ya sea al abrir un formulario (evento load) o utilizando un Boton, la otra opción seria crear una función que te haga eso pero creo que te confundirías un poco.

    Ingresar nuevo producto a la base de datos acces:
    bueno utilizando el modulo de conexión que tienes arriba solo tienes que colocar este código en el boton guardar o el que utilices.

    Dim sql As ADODB.Recordset
    sql = New ADODB.Recordset

    Try
    If Conexion Is Nothing Then Conectarse()

    sql.Open("INSERT into TUTABLA (TUCAMPO1,TUCAMPO2,TUCAMPO3)" & " values(" & Combobox1.text & ", '" & Combobox2.text & "', '" & Combobox3.text & "') ", Conexion, 3, 3)
    sql = Nothing
    Conexion = Nothing
    Catch ex As Exception
    MsgBox("No se ha podido registrar los datos " + ex.Message, MsgBoxStyle.Exclamation, "Error de registro ")
    Exit Sub
    End Try

    Cualquier duda me avisas
    Espero te sirva!!

    ResponderEliminar
  4. Anónimo6/3/14 19:41

    Neat blog! Is your theme custom made or did you download it from somewhere?

    A design like yours with a few simple tweeks would
    really make my blog jump out. Please let me know where
    you got your theme. Thank you

    My blog: Clash of Clans Gems Hack

    ResponderEliminar
  5. Elikn... funciona muy bien. Pero al querer agregar algo a ese ListBox, me marca error ya que esta enlazado. ¿como puedo agregar? saludos

    ResponderEliminar
  6. como cargar 02 tablas de access en un ListBox en Visual Basic 2010

    ResponderEliminar