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

    Source: geocities.com/es/ensolva/Descargas/Documentos

               ( geocities.com/es/ensolva/Descargas)                   ( geocities.com/es/ensolva)                   ( geocities.com/es)