Форум: "Начинающим";
Текущий архив: 2014.11.23;
Скачать: [xml.tar.bz2];
ВнизDELPHI 7:Как вывести в label текущее число записей таблицы DBGrid Найти похожие ветки
← →
Koudelka (2013-11-22 21:45) [0]Всем привет. Ребятки, не получается вывести в label ( а конкретно в label2.text) сколько в данный момент отображено записей в таблице. Волнует кол-во записей, которое получается ПОСЛЕ различных фильтраций таблицы, это число должно обновляться после применения фильтрации или после удаления записи, т.е. тогда, когда кол-во записей таблицы уменьшается или увеличивается, поэтому код, который представлен ниже не подошел ( т.к. он всегда показывает одно и тоже число записей в Table, а не число текущего кол-ва записей):
label2.Caption:="Отображено записей: " + IntToStr(datamodule2.table1.RecordCount );
пробовала и 2 вариант:
datamodule2.Query1.Active:= false;
datamodule2.Query1.SQL.Clear;
datamodule2.Query1.SQL.Add("SELECT COUNT (*) AS ""COUNT"" FROM [ABONENT]");
datamodule2.Query1.Active:= TRUE;
label2.caption := IntToStr(datamodule2.Query1.RecordCount);
- тут вылетает ошибка Invalid use of keyword. Token: FROM.
Преподаватель предложил создать цикл и в нем посчитать сумму отобразившихся полей таблицы, которая открыта, как лучше это сделать? Или все-таки доработать эти варианты?
← →
Jeer © (2013-11-22 22:05) [1]Ну ты попробуй просто
*.SQL.Text := "SELECT * FROM MyTable";
и затем *.RecordCount
Хотя база не указана и возможны варианты.
← →
Jeer © (2013-11-22 22:07) [2]А таблицы или запрос надо переоткрывать после модификации числа записей в таблице, чудеса редко случаются.
← →
[ВладОшин] © (2013-11-22 22:32) [3]сдается, что не там смотрите, не того источника данных
попробуйте посмотреть у того, который прикреплен к гриду
label2.Caption:="Отображено записей: " + IntToStr(DBGrid.DataSource.DataSet.RecordCount );
> база не указана и возможны варианты.
это да..
там вообще может быть -1 :)
в некотрых случаях.
← →
Koudelka (2013-11-22 22:58) [4]label2.Caption:="Отображено записей: " + IntToStr(DBGrid.DataSource.DataSet.RecordCount );
- не поменял ситуацию, значение label"a как и в моем примере, меняется только с переходом из одной таблицы в другую, а после фильтрации , к сожалению, остается прежним, хотя кол-во видимых полей меняется.
← →
Koudelka (2013-11-22 22:58) [5]label2.Caption:="Отображено записей: " + IntToStr(DBGrid.DataSource.DataSet.RecordCount );
- не поменял ситуацию, значение label"a как и в моем примере, меняется только с переходом из одной таблицы в другую, а после фильтрации , к сожалению, остается прежним, хотя кол-во видимых полей меняется.
← →
Koudelka (2013-11-22 23:17) [6]------------------Ответ найден! всем спасибо! ------------------
procedure TDataModule2.DataSource1DataChange(Sender: TObject;
Field: TField);
begin
if DataSource1.DataSet.RecNo<>-1 then Form1.Label2.Caption:=Format("Записей: %d",[DataSource1.DataSet.RecordCount]);
end;
← →
Ega23 © (2013-11-25 10:35) [7]
> сколько в данный момент отображено записей в таблице
Записей в НД 100, а вот в гриде отображено в данный момент только 20 например.
Через DataLink можно достучаться, там было что-то типа displaycount
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2014.11.23;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.002 c