Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как узнать перечень таблиц базы и количество записей в них?

01.01.2007
procedure TForm1.Button1Click(Sender: TObject);
var
  SL
: TStrings;
  index
: Integer;
begin
  SL
:= TStringList.Create;
 
try
    ADOConnection1
.GetTableNames(SL, False);
   
for index := 0 to (SL.Count - 1) do begin
      Table1
.Insert;
      Table1
.FieldByName('Name').AsString := SL[index];
      ADOTable1
.TableName := SL[index];
      ADOTable1
.Open;
      Table1
.FieldByName('Records').AsInteger :=
        ADOTable1
.RecordCount;
      Table1
.Post;
   
end;
 
finally
    SL
.Free;
    ADOTable1
.Close;
 
end;
end;

Взято с https://delphiworld.narod.ru

Комментарий Vit: открытие больших таблиц, особенно на удалённых серверах баз данных может быть исключительно длительным процессом. ADO оптимизированно для работы через запросы, поэтому количество записей можно значительно быстрее узнать составляя query и выполняя её:

procedure TForm1.Button1Click(Sender: TObject);

var
  SL
: TStrings;
  index
: Integer;
begin
  SL
:= TStringList.Create;
 
try
    ADOConnection1
.GetTableNames(SL, False);
   
for index := 0 to (SL.Count - 1) do begin
      Table1
.Insert;
      Table1
.FieldByName('Name').AsString := SL[index];
      ADOQuery1
.sql.text := 'Select Count(*) From '+SL[index];
      ADOQuery1
.Open;
      Table1
.FieldByName('Records').AsInteger :=ADOQuery1.fields[0].AsInteger;
      Table1
.Post;
      ADOQuery1
.Close;
   
end;
 
finally
    SL
.Free;
 
end;
end;