3. Поиск будет происходить по фамилии введенной в компоненте Edit1 после нажатия кнопки на форме «Поиск методом Lookup».
procedure TForm5.Button1Click(Sender: TObject);
var LookupResult: Variant;
begin
LookupResult:=Form1.Table1.Lookup('SFio', Edit1.Text, 'SData; SOsn; SNom; SSpec; SKurs'); //ищемполя 'Датарождения'
//’Основание’, ’Номерзачетки’, ’Специальность’, ’Курс’
if VarIsArray (LookupResult) then
begin
Edit2.Text:=LookupResult[0]; //записываетзначения
Edit3.Text:=LookupResult[1]; // вискомыхполяхв
Edit4.Text:=LookupResult[2]; //соответствующие
Edit5.Text:=LookupResult[3]; //компоненты
if Edit5.Text='False' then
Edit5.Text:='Физика' //поискполейлогическоготипа
else Edit5.Text:='Математика';
Edit6.Text:=LookupResult[4];
end;
end;
Цели:
Фильтрацию можно отнести к одному из методов поиска. Потому что фильтрация – выбор из набора данных только тех записей, которые удовлетворяют конкретным условиям. Например, можно указать отображение только записей, в которых поле «Фамилия» содержит значение «Иванов». Применение фильтра к набору данных определяется свойством Filtered логического типа. Значение True определяет применение в качестве фильтра выражения, указанного в свойстве Filter:
Поле [Оператор сравнения] ‘Значение’
Например, если отобразить все записи, в которых поле «Фамилия» равно значению «Сидоров», то нужно указать:
Table1.Filter:=’Фамилия=’’Сидоров’’’;
Фильтрация записей:
1. Открыть приложение.
2. Добавить на форму компоненту TEdit.
3. Текст процедуры для события OnChange:
begin
Table1.Filtered:=true; //включениефильтрации
Table1.Filter:='SNom = ‘+Edit2.Text;
//задаеткритерийфильтрации
end;
4. Этот способ фильтрации пригоден только для числовых полей.
5. При применении фильтра можно указать свойства:
a. foCaseInsensitive – нечувствительность к регистру букв;
b. foNoPartialCompare – поиск на точное соответствие.
6. Для фильтрации текстовых полей, например по полю «Фамилия» необходимо изменить текст процедуры.
procedure TForm1.Edit2Change(Sender: TObject);
begin
Table1.Filtered:=true;
Table1.Filter:='SFio='+#39+Edit2.Text+'*'+#39;
end;
7. В этом случае фильтрация проходит по текстовому полю. Знак «#39» означает знак апострофа, так как ввод фамилии при использовании фильтра происходит в апострофах. А символ «*» означает любые символы, то есть при вводе только одной буквы на экране появятся все фамилии начинающиеся на букву.
Цели:
1. Усвоить возможность связи таблицам.
Установка связи между таблицами:
Для демонстрации связи между таблицами необходимо создать еще одну таблицу. Создайте таблицу успеваемости студентов. В нее войдут поля: учебный год, сессия (зима или лето), предмет, ФИО преподавателя, дата аттестации по предмету, дата сдачи, оценка.
1. Эта таблица будет дочерней для таблицы Студенты. В таблице Успеваемость надо ввести дополнительно числовое поле и определить его вторичным ключом.
2. Разместите таблицу успеваемости на форме Студенты.
3. В свойстве компоненты Table2 MasterSourceнаписать DataSource1. Это означает, что вторая таблица станет дочерней для первой.
4. Двойным щелчком по свойству MasterFields вызовем окно FieldLinkDesigner (Дизайнер поля связи):
4. ВыбратьвспискеAvailable Index (Доступныеиндексы)изокнаField Link DesignerиндексIDGod(этовторичныйиндексвторойтаблицы).
5. В левом списке DetailFieldвыделить IdU, а в правом списке MasterField(Основа) выделить Ind.
6. Нажать на кнопку Add (Добавить) и закрыть окно.
7. Таким образом между таблицами установилась связь. Она называется связь один ко многим.
8. К дочерней таблице добавить кнопки для ввода и редактирования данных также как и для таблицы Студенты.
Цели работы:
Создание отчетов:
Отчет — это печатный документ, содержащий записи БД. В Delphi для создания отчетов служит генератор отчетов QuickReport, содержащий обширный набор компонентов. Компоненты, предназначенные для создания отчетов, находятся на закладке QReportпалитры компонентов.
Главным элементом отчета является компонент-отчет QuickRep, представляющий собой основу, на которой размещаются другие компоненты. Компонент QuickRep обычно размещается на отдельной форме, предназначенной для создания отчета.
Свойства компоненты QuickRep:
· Bands– здесь указываются компоненты размещаемые в QuickRep.
· DataSet– здесь указывается набор данных из которой отчет будет брать данные.
· Frame– здесь указывается параметры рамки.
· Options– здесь доступны три параметра. Если FirstPageHeaderравно true, то заголовок печатается только на первой странице отчета. Если LastPageFooterравен true, то нижний колонтитул печатается только на последней странице отчета. Если установить свойство Compressionв true, то отчет будет сохраняться в сжатом виде.
· ReportTitle– здесь находится заголовок печатаемого документа.
· SnapToGrid– нужно ли выравнивать компоненты по установленной сетке.
· Zoom– масштаб отображения данных.
Настройку параметров отчета можно выполнить с помощью окна ReportSettings, вызываемый двойным щелчком мыши по компоненте QuckRep. Предпочтительно пользоваться именно этим окном, так как здесь всегда можно просмотреть будущий результат.
procedure TForm1.SpeedButton5Click(Sender: TObject);
begin
Form4.QuickRep1.Preview; //вызываетсяметодPreview
//компонента QuickRep. Этот метод показывает окно
//предварительного просмотра созданного документа.
еnd;