![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Собственно сабж. Есть база Access, состоит из десятка таблиц. Необходимо посчитать количество всех записей. Работаю с базой через ADO. Есть идеи?
Delphicode.org - справочник Delphi |
#2
|
||||
|
||||
![]() А что, тут какие-то особые идеи нужны? Выбираешь имена пользовательских таблиц из MSysObjects, затем считаешь в них кол-во записей. Там 10 строк кода
![]() Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#3
|
||||
|
||||
![]() Цитата:
Aristarh, если не сложно, поделитесь знаниями... Delphicode.org - справочник Delphi |
#4
|
|||
|
|||
![]() Может быть в цикле посчитать запросом количество записей в каждой таблице, а потом их сложить?
![]() |
#5
|
||||
|
||||
![]() Уже выложил здесь
Delphicode.org - справочник Delphi |
#6
|
|||
|
|||
![]() Код:
... //Запрос для получения списка таблиц SQL := 'SELECT Name FROM MSysObjects ' + 'WHERE ParentId=(SELECT ID FROM MSysObjects ' + 'WHERE NAME='Tables') AND Flags In (0,8)'; ListTables.CommandText := SQL; ListTables.Open; //Перебираем список таблиц и в каждой из них считаем записи while not ListTables.Eof do begin SQL := 'SELECT Count(*) FROM ' + ListTables.Fields[0].AsString; ADODataSet.CommandText := SQL; ADODataSet.Open; CountAllRec := CountAllRec + ADODataSet.Fileds[0].AsInteger; ADODataSet.Close; ListTables.Next; end; ... ЗЫ. Не забывайте про обработку исключений. Последний раз редактировалось mik, 22.09.2008 в 13:32. |