cadena de conexión a una base de datos en Access

19/01/2007 - 16:48 por elena | Informe spam
Hola.
Necesito vincular una base de datos con Visio 2003. Necesito primero
abrir la conexión con la tabla Access. ¿Alguien me podría ayudar con
el código VBA necesario para abrir esta conexión?
Muchas gracias
 

Leer las respuestas

#1 Eduardo Olaz
21/01/2007 - 18:30 | Informe spam
Usando ADO podría hacerse de esta forma. No olvides referenciar ADO si no lo
está.
___________________________

Option Explicit

Public rs As ADODB.Recordset
Public cnn As ADODB.Connection

Public Sub CrearRecordset( _
ByVal Carpeta As String, _
ByVal FicheroAccess As String, _
ByVal Tabla As String)
Dim strFicheroAccess As String
Dim fld As ADODB.Field
Dim i As Long
If Right(Carpeta, 1) <> "\" Then
Carpeta = Carpeta & "\"
End If
strFicheroAccess = Carpeta & FicheroAccess
' Primero comprobamos que existe el fichero Access
If Dir(strFicheroAccess) = "" Then
MsgBox "No existe el fichero " & strFicheroAccess, _
vbCritical + vbOKOnly, _
"Fichero Access incorrecto"
Exit Sub
End If
Set cnn = New ADODB.Connection
Set rs = New ADODB.Recordset
' Abrimos la conexión
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & strFicheroAccess & ";"
' Establecemos propiedades del recordset
rs.LockType = adLockOptimistic
rs.CursorType = adOpenDynamic
' Abrimos el recordset
rs.Open Tabla, cnn, , , adCmdTable
' Como comprobación mostramos los campos de la tabla
Debug.Print "Campos de " & Tabla
For Each fld In rs.Fields
i = i + 1
Debug.Print "Campo " & CStr(i) & ": " & fld.Name
Next fld
' Ahora podríamos acceder a los datos de la tabla
' desde otro procedimiento; pero esa es otra historia ...
End Sub

___________________________

Saludos desde la calle Estafeta de Pamplona:

Eduardo Olaz
Microsoft [MVP] Access

eduardoALGARROBAolaz.net
ALGARROBA = @




"elena" escribió en el mensaje
news:
Hola.
Necesito vincular una base de datos con Visio 2003. Necesito primero
abrir la conexión con la tabla Access. ¿Alguien me podría ayudar con
el código VBA necesario para abrir esta conexión?
Muchas gracias

Preguntas similares