Clase ODBCError - un error de ODBC generado por la consulta de ODBC más reciente (Excel VBA)

La clase ODBCError representa un error de ODBC generado por la consulta de ODBC más reciente. Para usar una variable de clase ODBCError, primero debe ser instanciado, por ejemplo


Dim odber as ODBCError
Set odber = Application.ODBCErrors(Index:=1)

For Each

A continuación, se muestra un ejemplo de cómo procesar los elementos ODBCError en una colección.


Dim odber As ODBCError
For Each odber In Application.ODBCErrors
	
Next odber

ErrorString

Devuelve un valor de tipo String que representa la cadena de error de ODBC.


Dim strErrorString As String
strErrorString = Application.ODBCErrors(1).ErrorString

SqlState

Devuelve el error de estado de SQL.

Para obtener una explicación del error específico, consulte la documentación de SQL.


With Worksheets(1).QueryTables(1) 
 .Refresh 
 Set errs = Application.ODBCErrors 
 If errs.Count > 0 Then 
 Set r = .Destination.Cells(1) 
 r.Value = "The following errors occurred:" 
 c = 0 
 For Each er In errs 
 c = c + 1 
 r.offset(c, 0).value = er.ErrorString 
 r.offset(c, 1).value = er.SqlState 
 Next 
 Else 
 MsgBox "Query complete: all records returned." 
 End If 
End With