Unwanted MS Access tables in a database

Hi!

I have a program which uses BDE and ODBC to connect to a Ms Access
database. My program then opens all the tables available in the Access
database to list all the tables and their asssociated fields.

Some tables (related to the database config) show up and are named
"MSysACEs", "MSysModules", "MSysObjects", "MSysQueries" and
"MSysRelationships". Which create an EDBError "Can't Open Table, File does
not exist". I don't want to have these "MSYSXXXXX" tables listed, since i
won't use them anyway, and above all they always generate the EDBerror.

When i use DB Explorer, those tables don't show up in the Access database,
so i know it is possible to keep them out of the Table list, but how?

Here's the i use code to open a database and list its tables and their
fields:

  ListBoxFields.Items.Clear;
  ListBoxTables.Items.Clear;
  try
    Session.GetTableNames(Database1.AliasName,'',true,true,LBTables.Items);
    Tmptable := TTable.Create(self);
    TmpTable.DatabaseName :=Database1.AliasName;
    for i := 0 to ListBoxTables.items.Count - 1 do begin
      TmpTable.TableName := ListBoxTables.items[i];
      TmpTable.Open;
      for j := 0 to TmpTable.FieldCount - 1 do begin
        fldName := TblName + '.' + TmpTable.Fields[j].FieldName;
        ListBoxFields.items.Add(fldName);
      end;
      TmpTable.Close;
    end;
    tmpTable.Free;
  except on EDataBaseError do begin
    MessageDlg('Error listing Database:' + Database1.AliasName,
mterror,[mbok],0);
    end;
  end;
end;

Thanks in advance for any help you can provide. And please reply to me by
email as well as to the newsgroup.

--
Charles Bedard
beda...@videotron.ca