Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Реализация фильтрации записей




 

Фильтрация по заданному выражению, числовому полю, текстовому полю осуществляется следующим образом.

Необходимо создать форму следующего вида (рис. 3.3).

На форму помещены компоненты:

DataSource1, DBGrid1, настроить их свойства;

в модуле, соответствующем созданной форме для доступа к компонентам модуля данных в разделе implementation выставить uses unit2 (если модуль данных был создан вторым);

надпись Label1 (в свойстве Caption написать Выражение фильтра);

компонент Edit1 (свойство Text стереть) используют для ввода выражения фильтрации;

компонент кнопка Button1 (Caption – Фильтровать);

компонент кнопка Button2 (Caption - Все записи);

компонент кнопка Button3 (Caption – Цена >);

компонент Edit2 (свойство Text стереть) используют для ввода цены;

компонент Button4 (Caption – Фильтровать по цене);

компонент Label2 (в свойстве Caption написать Введите автора);

компонент Edit3 (свойство Text стереть);

компонент Button5 (Caption – Фильтровать по автору).

 

 

Рис. 3.3. Вид формы для фильтрации записей

 

С данной формой необходимо связать следующие обработчики событий.

 

Процедура для кнопки «Все записи».

 

Имя_модуля_данных.ADOTable1.Filtered:=False; (*отключение фильтрации*)

Edit1.Text:=’’; (*очистка поля от введенного фильтра*)

 

Процедура для кнопки «Фильтровать».

 

Имя_модуля_данных.ADOTable1.Filtered:=True; (*включение фильтрации*)

Имя_модуля_данных.ADOTable1.Filter:=Edit1.Text; (*определение условия фильтрации*)

 

Примеры выражений фильтра:

Obl_zn=’Базы данных’

Zena > 300

(Zena > 300) and (God > 2003)

Avt = ‘Ф*’

Zena = 500 or Zena=450

 

Процедура для формы в целом (событие Создание формы).

 

begin

Имя_модуля_данных.ADOTable1.FilterOptions:=[foCaseInsensitive]; (*регистр букв не учитывается*)

Имя_модуля_данных.ADOTable1.Filtered:=False; end;

Фильтрация по числовому значению осуществляется с помощью процедуры следующего вида:

 

Имя_модуля_данных.ADOTable1.Filtered:=True; Имя_модуля_данных.ADOTable1.Filter:='Zena>'+Edit2.Text;

Фильтрация по тексту выполняется следующим образом.

 

var a: string[20];

begin

Имя_модуля_данных.ADOTable1.Filtered:=True;

a:='Avt='; Имя_модуля_данных.ADOTable1.Filter:=a+''''+Edit3.Text+''''; (*чтобы поставить ‘ надо поставить две ‘*)

end;

 

Фильтрация по дате. Для реализации данной фильтрации можно создать форму следующего вида (рис. 3.4).

 

Рис. 3.4. Вид формы для фильтрации по дате

 

Дата выдачи – это компонент Label1.

Дата создана как компонент DateTimePicker1 (вкладка Win32). При щелчке по кнопке раскрывающегося списка выводится календарь для выбора даты.

Кнопки Показать (Button1), Все записи (Button2), Выход (Button3).

Для кнопки Показать создан следующий обработчик событий.

 

var

a:string[20];

begin

Имя_модуля_данных.ADOTable1.Filtered:=True;

a:=DateToStr(DateTimePicker1.Date);

Имя_модуля_данных.ADOTable1.Filter:='Dat_vid='+''''+a+'''';

end;

 

Для кнопки Все записи создан следующий обработчик событий.

 

Имя_модуля_данных.ADOTable1.Filtered:=False;

 

Для формы в целом создан следующий обработчик событий.

Имя_модуля_данных.ADOTable1.Filtered:=False;

 

4. СОЗДАНИЕ ЗАПРОСОВ

 

4.1. Создание запросов на выборку данных

 

Для создания запроса на выборку данных поступают следующим образом.

1. Создать или выбрать форму для реализации запроса (создание - кнопка New Form на панели инструментов (4-я слева), выбор – кнопка Veiw Form ( 2-я слева на панели инструментов)). В свойствах формы в поле Name можно задать имя, например, Query1Form.

 

2. Расположить на модуле данных компонент ADOQuery (панель ADO). Для данного компонента настроить следующие свойства: в свойстве Connection выбрать ADOConnection1; в свойстве SQL щелкнуть по кнопке и в открывшемся окне набрать запрос на языке SQL; в свойстве Active выбрать true.

Во вкладке Events модуля данных для события onCreate в процедуре обработки события дописать:

ADOQuery1.Active:= true;

Номер компонента может быть отличным от единицы.

3. Расположить на форме для реализации запроса компоненты DataSource (панель Data Access), DBGrid (панель Data Controls).

4. В модуле, соответствующем созданной форме для реализации запросов, для доступа к компонентам модуля данных в разделе implementation выставить uses unit2 (если модуль данных был создан вторым).

5. Установить для компонента DataSource – в свойстве DataSet имя компонента на модуле данных, реализующего запрос, (например, имя_модуля_данных. ADOQuery1 (номер компонента может быть другим)), для DBGrid – в свойстве DataSource значение DataSource1.




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 484; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.