Comos saber si mi aplicativo access tiene conexión a la base de datos en el servidor

Tengo una base de datos access en un equipo que hace las veces de servidor y a los usuarios les instalé un aplicativo que trabaja en red... El problema, es que si el servidor está off, la aplicación saca un informe no muy claro para los usuarios y se cierra... Me gustaría poder definir si el aplicativo tiene acceso a la base de datos y enviar un mensaje más claro

2 respuestas

Respuesta
1

Pruebe llamando esta función desde la macro Autexec.

Public Function Comprobar()
    Dim Rst As DAO.Recordset
    On Error GoTo Comprobar_Err
    Set Rst = CurrentDb.OpenRecordset("Select * from tblCiudades", dbOpenDynaset)
    Rst.Close
    'Si llego aquí es que la vinculacion esta normal
Comprobar_Exit:
    Application.Quit
Comprobar_Err:
    MsgBox "Error nº " & Err.Number & vbCrLf & Err.Description & vbCrLf & _
           "en procedimiento Comprobar ", vbCritical, "Error de conexión"
    Resume Comprobar_Exit
End Function

Cambie tblCiudades por cualquier tabla del back end.

Gracias por su respuesta... Pero me genera error en esta línea

Dim Rst As DAO.Recordset

Verifique que este activada la referencia a DAO 3.6

Respuesta

Si están en red, y comparte una carpeta en la que está la base con los datos, un simple:

Abc = DIR("la ruta de la carpeta")

Debería devolver en ABC el primer archivo que encontrase.

Si no hay conexión devolverá una cadena vacía y es el momento de poner en su lugar el mensaje explicativo (o la recomendación de que lo enciendan).

Cuando no hay conexión, dispara el mensaje de error que el campo está vació y no permite continuar, sino que cierra el aplicativo, así meta toda la ruta dentro del if o lo evalúe posteriormente

¿Dónde se aplicó el control?.

Si la base se cierra al no lograr enlazar las tablas, el control del status del servidor habrá que hacerlo en primer lugar, lo primero que hace Access es ejecutar la macro Autoexec (si existe), es el lugar adecuado.

La opción alternativa es vincular las tablas en tiempo de ejecución (lo que permitiría enlazarse a otra ubicación alternativa (por ejemplo, a una copia de seguridad que puede ser local) mientras se resuelve el problema y una vez resuelto se sincronizan los datos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas