En plena efervescencia del SQL Express 2005 como almacen de lujo en nuestras pequeñas aplicaciones de datos, continua siendo frecuente en algunos foros de VB preguntas referentes al enlace de ciertos controles con BD's de Access. La respuesta habitual es un link a toda la documentacion de ADO… DAO… SqlClient, lo que ha cambiado desde VB6, desde VB2003 o lo que es mas recomendable en VB2005. Verdaderamente es una buena practica conocer todas las posibilidades de acceso a datos (tipados, no tipados… ufff), pero en ayuda a los que estan empezando creo que es mas beneficioso un simple ejemplo. ¡ Ahi Va !
En algunas ocasiones puede sernos util poder cargar las opciones de nuestros combos, desde una base de datos access. Imagemos que mantenemos una lista de poblaciones… provincias… articulos, etc. desde Access, y que posteriormente utilizamos esta en una aplicacion para seleccionar las opciones de las mismas como parte de formularios cliente, en un proceso de introduccion de datos.
Imports System.Data.OleDb
Class Form1
Private objConn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; User ID=Admin; Data Source=C:\Bd1.mdb")
Private objAdapter As New OleDbDataAdapter("SELECT * FROM Productos", objConn)
Private objDataSet As New DataSet()
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
objConn.Open()
objAdapter.Fill(objDataSet)
Me.ComboBox1.DataSource = objDataSet.Tables(0)
Me.ComboBox1.DisplayMember = "Columna"
Me.ComboBox1.ValueMember = "Id"
objConn.Close()
End Sub
End Class
¿verdad que facil?
Pep Lluis,
¿Podrían actualizar esta información a como se haría en VB.Net 2008, como por ejemplo poner dos campos dentro del ComboBox?