VERIFICAR SI LA BD ESTA ABIERTA
Hola
Como le puedo hacer para verificar si mi bd esta abierta o no, osea si se encuentra cerrada que abra la bd y si esta cerrada la bd que la abra.En sintaxis como sería?
Espero me puedan ayudar porfavor.
Gracias
Como le puedo hacer para verificar si mi bd esta abierta o no, osea si se encuentra cerrada que abra la bd y si esta cerrada la bd que la abra.En sintaxis como sería?
Espero me puedan ayudar porfavor.
Gracias
Hola,
puedes hacerlo controlando el error que te da VB cuando intentas cerrar una BBDD cerrada o abrir una BBDD abierta.
Puedes llamar a la función a escribo a continuación así para abrirla:
If comprobarConexion(oConexion, "A") Then
' Haces lo que quieras porque acabas de abrir la BBDD sin que te de error
End If
Así para cerrarla:
If comprobarConexion(oConexion, "C") Then
' Haces lo que quieras porque acabas de cerrar la BBDD sin que te de error
End If
' Función que chequea si la BBDD está abierta o cerrada
Function comprobarConexion(oConexion as ADODB.Connection, strAccion as String) As Boolean
On Error GoTo errorConexion
comprobarConexion = True
If strAccion = "A" Then
oConexion.Open "C:BaseDatos.mdb"
ElseIf strAccion = "C" Then
oConexion.Close
End If
Exit Sub
' ERROR
errorConexion:
If Err.Number = 3705 Then
msgbox "La base de datos ya se encuentra abierta"
comprobarConexion = False
ElseIf Err.Number = 3704 Then
msgbox "La base de datos ya se encuentra cerrada"
comprobarConexion = False
End If
End Sub
Un saludo
sdemingo
puedes hacerlo controlando el error que te da VB cuando intentas cerrar una BBDD cerrada o abrir una BBDD abierta.
Puedes llamar a la función a escribo a continuación así para abrirla:
If comprobarConexion(oConexion, "A") Then
' Haces lo que quieras porque acabas de abrir la BBDD sin que te de error
End If
Así para cerrarla:
If comprobarConexion(oConexion, "C") Then
' Haces lo que quieras porque acabas de cerrar la BBDD sin que te de error
End If
' Función que chequea si la BBDD está abierta o cerrada
Function comprobarConexion(oConexion as ADODB.Connection, strAccion as String) As Boolean
On Error GoTo errorConexion
comprobarConexion = True
If strAccion = "A" Then
oConexion.Open "C:BaseDatos.mdb"
ElseIf strAccion = "C" Then
oConexion.Close
End If
Exit Sub
' ERROR
errorConexion:
If Err.Number = 3705 Then
msgbox "La base de datos ya se encuentra abierta"
comprobarConexion = False
ElseIf Err.Number = 3704 Then
msgbox "La base de datos ya se encuentra cerrada"
comprobarConexion = False
End If
End Sub
Un saludo
sdemingo