manejo de errores
hola tengo problemas con el manejo de errores ya que utilizo una base de datos en access como auxiliar pero cada vez que se corre el programa se crea una tabla pero si el usuario no termina la ejecucion o no sale correctamente no puedo eliminar la tabla para poder crearla nuevamente al correr el programa me gustaria saber si alguien me puede ayudar para poder atrapar el error y eliminar la tabla antes de intentar crearla gracias
Siendo Access y trabajando con ADO, no se puede acceder a los catálogos de la base, a menos que incluyas referencia a las librerÃas ADOX.
Pero hay una solucion, te fabricas una función que te retorne si la tabla existe o no.
Function ExisteTablaAccess(Cn As ADODB.Connection, Tabla) As Boolean
Dim Sql As String
Dim R As New ADODB.Recordset
Err.Clear
On Error GoTo Salida
Sql = "Select * From " & Tabla
R.Open Sql, Cn, adOpenStatic
R.Close
Set R = Nothing
ExisteTablaAccess = True
Exit Function
Salida:
ExisteTablaAccess = False
Err.Clear
End Function
Entonces, en donde creas la tabla de Access, lo hacés con el condicional
If ExisteTablaAccess(Cn,NombreTabla) Then
Cn.Execute "DROP TABLE " & NombreTabla
End if
Espero que te sirva
Saludos
Pero hay una solucion, te fabricas una función que te retorne si la tabla existe o no.
Function ExisteTablaAccess(Cn As ADODB.Connection, Tabla) As Boolean
Dim Sql As String
Dim R As New ADODB.Recordset
Err.Clear
On Error GoTo Salida
Sql = "Select * From " & Tabla
R.Open Sql, Cn, adOpenStatic
R.Close
Set R = Nothing
ExisteTablaAccess = True
Exit Function
Salida:
ExisteTablaAccess = False
Err.Clear
End Function
Entonces, en donde creas la tabla de Access, lo hacés con el condicional
If ExisteTablaAccess(Cn,NombreTabla) Then
Cn.Execute "DROP TABLE " & NombreTabla
End if
Espero que te sirva
Saludos
