Nota del autor: Esta es la publicación final de una serie de cuatro publicaciones en tablas sin DSN en Access.

Puedes revisar la primera parte aquí.

Echa un vistazo a la parte 2 aquí.

Vea la parte 3 aquí.

¿Cómo probar los cambios en la nube con sus usuarios Beta?

Una vez que haya implementado su obra maestra de Access con SQL Server en la nube, a su cliente le encantará tanto su trabajo que solicitarán cambios adicionales. (Sugerencia: si no recibe solicitudes de actualización, no fue una obra maestra para empezar). Es fácil probar los cambios en una base de datos local de SQL Server, pero la mayoría de las veces necesitará que un grupo selecto de usuarios de su aplicación pruebe los cambios antes de implementarlos para todos, y eso significa probar usando la nube.

Use una base de datos Beta de SQL Server para probar los cambios antes de comenzar

SQL Server facilita la creación de una base de datos Beta, solo copie la base de datos en vivo o restaure una copia de seguridad completa y asígnele un nombre diferente. Por lo general, le damos a los nuestros el mismo nombre con el sufijo «Beta». Usualmente usamos el servidor de producción como nuestro servidor Beta para probar el sistema en condiciones reales, pero no es necesario. Una vez que tenga una base de datos Beta en funcionamiento, use el siguiente código para cambiar fácilmente de Beta a producción y viceversa.

Cómo cambiar a Beta: simplemente cambie el nombre de su archivo de Access

En nuestras aplicaciones, para cambiar a nuestra base de datos Beta de SQL Server, simplemente agregamos la palabra Beta a nuestro archivo de Access. Tener que cambiar el nombre del archivo y no cambiar ningún código hace la vida más fácil y nos permite experimentar con datos sin afectar las operaciones y asegura que tanto la versión beta como la producción sean funcionalmente idénticas. Nuestro cliente también utiliza la técnica para capacitar a nuevos usuarios en el sistema.

Public Function BetaTesting() As Boolean
10 If CurrentProject.Name = <a href="https://accessexperts.com/blog/2011/01/12/multi-session-global-variables/" target="_blank">ReadGV</a>("ProjectFileName", 1) Then
20    BetaTesting = False
30    <a href="https://accessexperts.com/blog/2010/09/16/maximize-the-user-of-tempvars-in-access-2007-and-2010/" target="_blank">TempVars</a>.Add "BetaTesting", False
 'Change from Beta to production?
40    If InStr(1, CurrentDb.TableDefs(ReadGV("BetaTableTest", strText)).Connect, ReadGV("BetaCatalog", strText)) &gt; 0 Then
 'Relink to production database
50       ChangeAppTitle ReadGV("ProjectTitle", strText)
60       <a href="https://accessexperts.com/blog/2012/04/04/part-2-linking-tables-using-a-sql-server-table/" target="_blank">RelinkAllTablesADOX</a>
70   End If
80 Else
90    BetaTesting = True
100   TempVars.Add "BetaTesting", True
110   ChangeAppTitle "++++++++ BETA " &amp; ReadGV("ProjectTitle", strText) &amp; " BETA +++++++++"
120   If InStr(1, CurrentDb.TableDefs(ReadGV("BetaTableTest", strText)).Connect, ReadGV("BetaCatalog", strText)) &lt; 1 Then
 'Relink to Beta database
130      <a href="https://accessexperts.com/blog/2012/04/04/part-2-linking-tables-using-a-sql-server-table/" target="_blank">RelinkAllTablesADOX</a>
140   End If
150 End If
End Function

En la línea 10 probamos si el nombre del archivo actual es la versión de producción almacenada en nuestra tabla tblProgramOptions, de lo contrario, estamos tratando con una versión Beta del sistema. (Haga clic en ReadGV para ver una publicación sobre el uso de ReadGV).

Si se trata de una base de datos de producción, en la línea 30 establecemos una variable global para su uso posterior en la aplicación. En la línea 40 probamos si los enlaces de la tabla apuntan a Beta y, de ser así, vuelven a vincular todas las tablas a la base de datos de producción en la línea 60.

Si se trata de una base de datos Beta, en la línea 90 definimos una variable global, cambiamos el título de la aplicación y volvemos a vincular todas las tablas a la base de datos Beta en la línea 130. (Haga clic en RelinkAllTablesADOX para ver una publicación sobre cómo volver a vincular todas sus tablas).

Como nombramos nuestra base de datos de SQL Server simplemente agregando Beta al nombre, podemos usar las siguientes líneas en RelinkAllTablesADOX para cambiar a Beta.

If TempVars!IsBeta Then
 strCatalog =  conCatalog &amp;  "Beta"
 Else
 strCatalog = conCatalog
 End If

* ACTUALIZACIÓN * El código para ChangeAppTitle:

Public Sub ChangeAppTitle(strTitle As String)
 Dim proTitle As Property
 
 On Error Resume Next
 With CurrentDb
  Set proTitle = .CreateProperty("AppTitle", dbText, strTitle)
  Call .Properties.Append(proTitle)
  .Properties("AppTitle").Value = strTitle
 End With
 Call Application.RefreshTitleBar
End Sub

Conclusión de la serie

Espero que todas estas publicaciones lo ayuden a aprovechar las tablas sin DSN en su aplicación, avíseme en los comentarios si utiliza el código y cómo le ha ayudado.