ВУЗ:
Составители:
Рубрика:
44
Если поле, по которому выполняется фильтрация, содержит дату, то при
задании условия в Инспекторе объектов дату надо записать в апострофах. При
выполнении фильтрации программно с датой надо работать как с полем стро-
кового типа:
Table1.Filter:='Card_Exp <'+ ''''+(Edit4.Text)+'''';
Можно, например, использовать функцию QuotedStr:
Table1.Filter:='Card_Exp<'+ Quotedstr(Edit4.Text);
2.7.2. Выполнение вычислений
Часто требуется обработать данные по заданному полю: найти сумму,
среднее, минимальное, максимальное значения и т.п. Причем при выполнении
действий требуется учитывать данные не всех записей, а только тех, которые
удовлетворяют некоторому условию. Организовать вычисления можно сле-
дующими способами:
1) в цикле перемещения по всем записям проверять условие и, если усло
-
вие верно, выполнять вычисления;
2) отфильтровать данные по заданному условию, а затем выполнить тре-
буемые действия для отфильтрованного набора записей.
В отфильтрованном наборе данных (
Filtered равно True) методы
First, Last, Next, Prior учитывают критерий фильтрации, т.е. задают пере-
мещение в отобранных записях. Свойство
RecordCount компонента Table со-
держит количество записей в отфильтрованном наборе. Ниже приведён пример
работы с данными по методу 2:
− выполнена фильтрация по полю
Category;
− определено количество записей в отфильтрованном наборе;
− найдено максимальное значение поля
Length в отфильтрованном на-
боре.
procedure TForm1.Button8Click(Sender:TObject);
var n, maxL:integer;
begin
Table1.Filtered:=False;
if Edit8.Text<>'' then
Если поле, по которому выполняется фильтрация, содержит дату, то при задании условия в Инспекторе объектов дату надо записать в апострофах. При выполнении фильтрации программно с датой надо работать как с полем стро- кового типа: Table1.Filter:='Card_Exp <'+ ''''+(Edit4.Text)+''''; Можно, например, использовать функцию QuotedStr: Table1.Filter:='Card_Exp<'+ Quotedstr(Edit4.Text); 2.7.2. Выполнение вычислений Часто требуется обработать данные по заданному полю: найти сумму, среднее, минимальное, максимальное значения и т.п. Причем при выполнении действий требуется учитывать данные не всех записей, а только тех, которые удовлетворяют некоторому условию. Организовать вычисления можно сле- дующими способами: 1) в цикле перемещения по всем записям проверять условие и, если усло- вие верно, выполнять вычисления; 2) отфильтровать данные по заданному условию, а затем выполнить тре- буемые действия для отфильтрованного набора записей. В отфильтрованном наборе данных (Filtered равно True) методы First, Last, Next, Prior учитывают критерий фильтрации, т.е. задают пере- мещение в отобранных записях. Свойство RecordCount компонента Table со- держит количество записей в отфильтрованном наборе. Ниже приведён пример работы с данными по методу 2: − выполнена фильтрация по полю Category; − определено количество записей в отфильтрованном наборе; − найдено максимальное значение поля Length в отфильтрованном на- боре. procedure TForm1.Button8Click(Sender:TObject); var n, maxL:integer; begin Table1.Filtered:=False; if Edit8.Text<>'' then 44
Страницы
- « первая
- ‹ предыдущая
- …
- 42
- 43
- 44
- 45
- 46
- …
- следующая ›
- последняя »