Function Es_Tabla_Dbf(NombreTabla As String) As Integer 'Hago la funcion integer y no Bolean para distinguir 4 casos 'Además no recorro innecesariamente todas las coleciones y propiedades 'como en el anterior ejemplo adjunto 'Valores que devuelve: '1 = ES DBF '2 = NO ES DBF '3 = La tabla no existe en esta MDB '4 = Otro error que se produzca On Error GoTo Err_EtiError Dim Fichero As String Fichero = UCase(CurrentDb.TableDefs(NombreTabla).SourceTableName) If InStr(1, Fichero, "DBF", vbTextCompare) <> 0 Then Es_Tabla_Dbf = 1 Else Es_Tabla_Dbf = 2 End If Exit_EtiError: Exit Function Err_EtiError: If Err.Number = 3265 Then MsgBox "La tabla " & NombreTabla & " no pertenece a esta MDB", vbExclamation, "AVISO" Es_Tabla_Dbf = 3 Else MsgBox Err.Description, vbCritical, "AVISO DE ERROR" Es_Tabla_Dbf = 4 End If Resume Exit_EtiError End Function