
- •1. Описание практических работ
- •1.1 Тема: Введение в работу с удалёнными бд
- •1.1.1 Пр1 Проектирование структуры бд
- •1.1.2 Пр2 Создание и использование модуля данных
- •Использование компонента tMainMenu
- •2. Использование компонентов tdbGrid, Tрanel, TbitBtn
- •1.2 Тема: Проектирование серверной части приложения бд
- •1.2.1 Пр3 Создание и использование подстановочных полей (Lookup)
- •1.2.2 Пр4 Использование команд для работы с индексами
- •1.3 Тема: Визуальные средства проектирования структуры бд
- •1.3.1 Пр5 Использование графической среды AllFusion
- •1.4 Тема: Компоненты доступа к данным. Запросы на выборку данных
- •1.4.1 Пр6 Организация запросов на выборку данных
- •Создание запроса на выборку в базе данных для настольных систем
- •Создание запроса на выборку в приложении Access
- •1.4.2 Пр7 Использование методов для навигации по наборам данных
- •Изменение записи
- •Удаление содержимого поля или удаление всей записи
- •1.5.2 Пр9 Создание и использование объектов для вычисляемых полей (Calculated)
- •1.6 Тема: Хранимые процедуры, триггеры и генераторы. Обеспечение достоверности, целостности и непротиворечивости данных. Каскадные воздействия
- •1.6.1 Пр10 Методы для проверки правильности введенного в поле значения в приложениях бд
- •Проверка данных в поле
- •1.7 Тема: Сортировка, поиск и фильтрация данных в бд и в выборках
- •1.7.1 Пр11 Организация поиска записей с использованием метода Locate
- •1.7.2 Пр12 Организация поиска записей с использованием метода Lookup
- •1.8 Тема: Управление транзакциями и кэширование памяти
- •1.8.1 Пр13 Организация фильтрации записей по выражению
- •1.8.2 Пр14 Организация фильтра записей по диапазону
- •1.9 Тема: Перехват исключительных ситуаций и обработка ошибок
- •1.9.1 Пр15 Использование процедур для обработки исключений
- •1.10 Тема: Формирование и вывод отчетов
- •1.10.1 Пр16 Создание и использование составляющих отчета
- •Способы создания отчета
- •Создание отчета
- •1.10.2 Пр17 Использование возможностей импорта данных в отчет
- •Работа в Excel с данными Access
- •Копирование в Excel данных Access
- •1.11 Тема: Установка привилегий доступа к данным
- •1.11.1 Пр18 Создание справочной системы
- •1.12 Тема: Копирование и перенос данных. Восстановление данных
- •1.12.1 Пр19 Подключение справочного файла к приложению
- •1.13 Тема: Копирование клиентской части приложения бд
- •1.13.1 Пр20 Создание дистрибутива приложения
- •Создание дистрибутива для проекта калькулятора
1.8 Тема: Управление транзакциями и кэширование памяти
1.8.1 Пр13 Организация фильтрации записей по выражению
Цель: научиться работать с фильтрами записей по выражению.
Рассмотрим в качестве примера обработки событий формы, использующей фильтрацию записей набора данных по выражению. Вид формы представлен на рисунке 1.
Для создания выражений фильтра используются редакторы Edit. Компонент Edit1 и Edit2 предназначены для задания выражения при фильтрации.
На форму помещаются две кнопки Button. При нажатии кнопки Button3 с заголовком "Фильтровать" фильтр активируется путем присваивания значения True свойству Filtered набора данных. При активизации фильтра происходит отбор записей, которые удовлетворяют заданному в выражениях условию. При нажатии на кнопку Button4 с заголовком "Отменить" показываются все записи, фильтр при этом отключается.
Ниже представлены программные коды (обработчики событий) модуля формы, предназначенные для фильтрации:
procedure TForm3.Button3Click(Sender: TObject);
begin
if RadioButton1.Checked then
begin
DataModule2.TTovar.FilterOptions:=[];
DataModule2.TTovar.Filter:='Naim='''+Edit1.Text+'*''';
DataModule2.TTovar.Filtered:=True;
beep;
end;
if RadioButton2.Checked then
begin
DataModule2.TTovar.FilterOptions:=[];
DataModule2.TTovar.Filter:='Uhet_zena='''+Edit2.Text+'''';
DataModule2.TTovar.Filtered:=True;
beep;
end;
end;
procedure TForm3.Button4Click(Sender: TObject);
begin
DataModule2.TTovar.Filtered:=false;
End.
1.8.2 Пр14 Организация фильтра записей по диапазону
Цель: научиться работать с фильтрами записей по диапазону.
При фильтрации по диапазону в набор данных данных будут включены те записи, значение полей которых соответствуют заданному диапазону. Таким образом, условием фильтрации является выражение вида:
значение > нижней границы AND значение < верхней границы, в которой вместо операций сравнения <и> могут указываться операции <= и >=. Такая фильтрация применяется к набору данных Table.
Достоинством фильтрации по диапазону является высокая скорость обработки записей. В отличи от фильтрации по выражению, когда последовательно просматриваются все записи таблицы, фильтрация по диапазону ведется индексно-последовательным методом, поэтому этот способ фильтрации применим только для индексных полей. Индекс поля, диапазон которого задан в качестве критерия для отбора записей, должен быть установлен как текущий с помощью свойства IndexName или IndexFieldNames.
Рассмотрим в качестве примера обработчики событий формы, использующей фильтрацию записей набора данных по выражению. Вид формы приведён на рисунке 2.
Для задания выражений фильтра используются редакторы Edit. Компонент Edit2 предназначен для задания выражения при фильтрации по подгруппе станка, компоненты Edit3 и Edit4 задают соответственно минимальную и максимальную границу значения поля D_max.
На форму помещаются две кнопки Button. При нажатии кнопки Button11 с заголовком “Фильтровать” фильтр активизируется путём присваивания значения True свойству Filtered набора данных. При активизации фильтра происходит отбор записей, которые удовлетворяют заданному в выражениях условию. При нажатии кнопки Button12 с заголовком “Отменить” показываются все записи, фильтр при этом отключается.
Ниже приведены программные коды (обработчики событий) модуля формы Form3, предназначенные для фильтрации:
Procedure TForm3.Button11Click(Sender:TObject);
begin
if RadioButton1.Checked then
begin
Table1.FilterOptions:=[foCaseInsensitive];
Table1.Filter:=’Podgrup=’”+edit2.text+’*’”;
Table1.Filtered:=True;
beep;
end;
if RadioButton2.Checked then
begin
Table1.Filter:=’max_d>=’+edit3.text+’AND max_d<=’+edit4.text;
Table1.Filtered:=True;
beep;
end;
end.