Parte 2: vincular tablas con una tabla de SQL Server

Nota del autor: Esta es la parte 2 de una serie sobre tablas sin DSN en Access.

Puedes revisar la primera parte aquí. Tercera parte aquí. Cuarta parte aquí.

En la publicación anterior hablé sobre el uso de una sola tabla en su base de datos de SQL Server para administrar fácilmente la seguridad, en la publicación de hoy voy a ir un paso más allá y usar esa misma tabla para crear todos los enlaces necesarios necesarios para su aplicación en puesta en marcha.

Use ADODB para recorrer la tabla y crear enlaces

La técnica utiliza un conjunto de registros ADODB para recorrer todos los registros en tblTablePermissions y crear los enlaces al inicio. Almacenamos el nombre y la contraseña del usuario con el enlace, por lo que utilizamos un formulario de inicio de sesión personalizado para almacenar el nombre y la contraseña del usuario, que luego se utilizan para crear los enlaces.

Paso 1: Capture la información de inicio de sesión del usuario y pruebe para ver si pueden conectarse con SQL Server

Aquí está el código que usamos cuando el usuario hace clic en el botón de inicio de sesión en nuestro formulario de inicio de sesión:

Cambiar entre bases de datos beta y de producción

Al incluir el nombre «Beta» en el nombre del proyecto, el código apuntará a la base de datos Beta en lugar de a la de producción. Explicaré más sobre esto más adelante en la serie.

OpenMyConnection

Observe el uso de OpenMyConnection, que uso en mis métodos Easy ADODB. Aquí está la definición de la función:

Procedimiento RelinkAllTablesADOX

Este procedimiento es donde se disparan los fuegos artificiales:

Solo enlazar tablas donde DontLink = 0

Observe que en la línea 30 anterior solo vinculamos tablas que tienen DontLink configurado t Falso. Quizás se pregunte por qué nos molestamos incluso en colocar una tabla en tblTablePermissions cuando no se usa en Access como tabla vinculada. Recuerde en mi primera publicación que lo usamos para configurar la seguridad de todas las tablas, y si alguna vez es necesario usar ADODB e ir directamente a la tabla en SQL Server a través de nuestro código de access o consulta de paso, entonces necesitamos esa tabla listada en tblTablePermissions.

¿View necesita índice?

En la línea 50 anterior, el código verifica si la tabla que se está vinculando es una vista y, de ser así, crea el índice en Access utilizando una tabla local llamada tblLinkViews. Probablemente podría eliminar este concepto en su código y simplemente agregar otra columna a tblTablePermissions llamada ViewIndex, luego simplemente use! ViewIndex en el código anterior para leer la sintaxis SQL en strSQL.

Cambiar el nombre de la tabla del servidor SQL?

Observe que en la línea 35 anterior, el sistema usará un nombre diferente para la tabla de Access si así se especifica. Esta técnica puede ser útil cuando se trata de una aplicación heredada y desea utilizar nombres en SQL Server que se adapten mejor a usted, pero no se pueden usar en Access debido a un código heredado.

AttachDSNLess Table Code

El procedimiento anterior llama a este sub para hacer realmente la vinculación:

En mi próxima publicación, hablaré sobre cómo destruir los enlaces cuando salgas de la aplicación.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*