Cómo cambiar mediante programación la conexión de un proyecto de Access

Avanzado: requiere conocimientos expertos de codificación, interoperabilidad y multiusuario.

Este artículo solo se aplica a un proyecto de Microsoft Access (.adp).

Resumen

En este artículo se muestra cómo cambiar mediante programación la conexión de un archivo de proyecto de Microsoft Access (ADP).

Más información

La manera más fácil de cambiar la conexión de un ADP es hacerlo manualmente. Puede acceder a las propiedades de conexión del proyecto actual como se indica a continuación en Access 2002 o en Access 2003: en el menú Archivo, haga clic en Conexión. El cuadro de diálogo que aparece ofrece opciones para cambiar el nombre del servidor y los modos de seguridad, entre otras propiedades.

Nota En Access 2007, siga estos pasos para abrir la pestaña Conexión del cuadro de diálogo Propiedades del vínculo de datos:

  1. Haga clic en el botón de Microsoft Office y, a continuación, haga clic en Opciones de acceso.
  2. En la pestaña Personalizar , haga clic en Todos los comandos de la lista Elegir comandos de .
  3. Haga clic en Conexión en el panel izquierdo, haga clic en Agregary, a continuación, haga clic en Aceptar.
  4. Haga clic en Conexión en la barra de herramientas de acceso rápido.

Sin embargo, a veces, es posible que quiera automatizar el proceso. Es posible que desee que los usuarios se conecten a un servidor SQL Server diferente para una sección específica de la aplicación, o puede que desee controlar el proceso de conexión al iniciar para que pueda buscar errores y controlarlos en consecuencia, quizás mediante el enrutamiento a otro servidor.

En los pasos siguientes se usa una función que muestra cómo cambiar la conexión existente de un ADP mediante el modelo de objetos de Access. La función devuelve True si se ejecuta correctamente y False si no se realiza correctamente.

  1. Inicie Access y, a continuación, abra el proyecto de Access de ejemplo NorthwindCS.adp.

  2. En Access 2002 o en Access 2003, haga clic en Módulos en Objetos en la ventana Base de datos y, a continuación, haga clic en Nuevo para abrir un nuevo módulo.

    En Access 2007, haga clic en la flecha abajo debajo de Macro en el grupo Otros de la pestaña Crear y, a continuación, haga clic en Módulo.

  3. Agregue el código siguiente al nuevo módulo y, a continuación, guarde el módulo:

Function ChangeADPConnection(strServerName As String, strDBName As _
   String, Optional strUN As String, Optional strPW As String) As Boolean
Dim strConnect As String
On Error GoTo EH:
Application.CurrentProject.CloseConnection
'The Provider, Data Source, and Initial Catalog arguments are required.
strConnect = "Provider=SQLOLEDB.1" & _
";Data Source=" & strServerName & _
";Initial Catalog=" & strDBName
If strUN <> "" Then
    strConnect = strConnect & ";user id=" & strUN
    If strPW <> "" Then
        strConnect = strConnect & ";password=" & strPW
    End If
Else  'Try to use integrated security if no username is supplied.
    strConnect = strConnect & ";integrated security=SSPI"
End If
Application.CurrentProject.OpenConnection strConnect
ChangeADPConnection = True
Exit Function
EH:
MsgBox Err.Number & ": " & Err.Description, vbCritical, "Connection Error"
ChangeADPConnection = False
End Function

  1. En Access 2002 o en Access 2003, haga clic en Formularios en Objetos en la ventana Base de datos, haga clic en Nuevoy, a continuación, haga clic en Aceptar para abrir un nuevo formulario en la vista Diseño.

    En Access 2007, haga clic en Formulario en la pestaña Crear .

  2. Agregue un botón de comando al formulario.

  3. Establezca la propiedad OnClick del botón de comando en el siguiente procedimiento de evento:

Dim bCheckConnection As Boolean
   'You must specify the correct parameters for your following server.
   'username and password parameters are optional.
bCheckConnection=ChangeADPConnection("ServerName","DBName","UserName","PW")
MsgBox bCheckConnection
  1. Cierre el entorno de Visual Basic para volver al formulario.

  2. Guarde el formulario y, a continuación, cambie el formulario a la vista Formulario.

  3. Haga clic en el botón de comando para ejecutar el código subyacente.

    Recibirá un cuadro de mensaje que indica True si proporcionó los parámetros correctos para una conexión en el paso 6.

    -O-

    Si no ha proporcionado los parámetros correctos, recibirá el mensaje de error. Al hacer clic en Aceptar en el mensaje de error, obtiene el cuadro de mensaje que muestra False.