Abrir una base de datos access con ADO




'Agregar en las referencias

'Microsoft ActiveX Data Objects 2.0 Library

'o alguna version mas reciente

 

'declarar esto en un módulo .bas

 

Private DBConnection As New ADODB.Connection

 

'Abre una base de datos access

'Regresa :

'True = Exito al conectar

'False = Error al conectar

'

Public Function AbrirBaseDatosAccess(ByVal BaseAccess As String, _

Optional ByVal Access2000 As Boolean = False, _

Optional ByVal Usuario As String = "", _

Optional ByVal Password As String = "") As Boolean

On Error GoTo ErrorAbrirBaseDatosAccess

 

Dim ret As Boolean

Dim Conexion As String

 

ret = True

 

If Not Access2000 Then 'access 97

Conexion = "Provider=Microsoft.Jet.OLEDB.3.51;" _

& "Persist Security Info=False;Data Source=" & BaseAccess

Else 'access 2000

Conexion = "Provider=Microsoft.Jet.OLEDB.4.0;" _

& "Persist Security Info=False;Data Source=" & BaseAccess

End If

 

DBConnection.ConnectionTimeout = 0 'no hay limite de espera de tiempo

 

If Usuario <> "" Then

    DBConnection.Open Conexion, Usuario, Password

Else

    DBConnection.Open Conexion

End If

 

GoTo SalirAbrirBaseDatosAccess

 

ErrorAbrirBaseDatosAccess:

ret = False

MsgBox "AbrirBaseDatosAccess : " & Err & " " & Error$, vbCritical

Resume SalirAbrirBaseDatosAccess

 

SalirAbrirBaseDatosAccess:

AbrirBaseDatosAccess = ret

Err = 0

 

End Function