Tengo una base de datos en access y la deseo conectar con ADO o DAO para poder manipular el contenido de sus tablas con Visual Basic pero no lo consigo. ¿Alguien me podría echar un cable? Gracias
Te recomiendo usar ADO y lo primero es tener el MDAC que es un ejecutable que descargas de Microsoft completamebnte gratis. Bajate el 2.5 De acuerdo con la version de Access puedes tener dos provider, Uno para Access 97 o menor y la otra para Access 2000 o mayor, nombrados como Microsoft. Jet. OLEDB. 3.51 y Microsoft. Jet. OLEDB. 4.0 Después de ello en tu código VB debes abrir una conexión a la BD. Esto se hace a través del objeto Connection. Seria algo como: Dim cn As ADODB.Connection Set cn = New ADODB.Connection cn.ConnectionString="Provider=Microsoft.Jt.OLEBDB.3.51;UserId=Admin;Password=;Data Source=C:\TuMDB.mdb" con.Open Esto apertura la conexión a la BD. Para obtener información de las tablas usas el objeto recordset de la siguiente manera: Dim rs As ADODB.Recordset Set rs = cn.Execute( "SELECT * FROM TuTabla") o puedes usar : Set rs = new ADODB.Recordset rs.Open "SELECT * FROM TuTabla", cn Para chequear si hay datos usas: If rs.Bof And rs.Eof Then MsgBox "Tabla vacia" End If Para recorrer los datos de la tabla usas un loop Do Until rs.Eof debug.Print rs.Fields("Campo1") rs.MoveNext Loop Y finalmente debes cerrar todos los objetos creados rs.Close:Set rs=nothign cn.Close: Set cn = Nothing
La primera página a visitar seria el MSDN de Microsoft (www.microsoft.com) ademas del KB de Microsoft donde puedes consultar dudas. Si deseas crear la bd Access desde VB debes usar una biblioteca anexa de ADO que se llama ADOX (ActiveX Data Objects eXtensions). NO importando la BD puedes agregar un registro usando el método del recordset AddNew Seria algo como Rs. AddNew rs.Fields("TuCampo") = valor rs.Update Tambien puedes visitar http://www.vb-helper.com/index_categories.html