Private Sub InsertData(cadena As String)
Ejecutar:
On Error GoTo Err_InsertData
conn.Execute cadena
Exit Sub
Err_InsertData:
On Error Resume Next
Dim intCanal As Integer
intCanal = FreeFile
Open LOGERROR For Append As #intCanal
Print #intCanal, Err.Number & " " & Err.Description
Print #intCanal, cadena
Close #intCanal
If Err.Number = XXXX Then
'XXXX sería el número de error que te interese.
'En este caso no sé cual es, pero lo puedes averiguar
'forzando el error.
If MsgBox("Error al insertar datos. ¿Intentar reconexión? ", _
vbCritical + vbRetryCancel, "Error de conexión") = vbCancel Then End
conn.Close
Set conn = Nothing
Set conn = New ADODB.Connection
conn.Open UdlString, , "osado"
Resume Ejecutar
Else
MsgBox "(" & Err.Number & ") " & Err.Descriptionm, vbCritical, "Error inesperado"
End If
End Sub