end;
* * * *
Table1.Edit;
Table1.FieldByName(Name).AsString := Fred;
Table1.Post;
* * * *
Table1.Insert;
Table1['Name'] := 'Russia';
Table1['Sity'] := 'Moscow';
Table1.Post;
* * * *
if MessageDlg('Сохраннить запись?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then Table1.Post else Table1.Cancel;
* * * *
procedure TForm1.Button1Click(Sender: TObject);
var i: integer; k: real;
begin
k:=0;
with ProgressBar1 do begin
Min := 0; Max := Table1.RecordCount;
Table1.First;
for i := Min to Max do begin
Position := i; s:=s+ Table1[sum];
Table1.Next;
end;
end;
end;
* * * *
with Table1 do begin
DisableControls;
try
First;
while not EOF do Delete;
finally
EnableControls;
end;
end;
ЛЕКЦИЯ 4
1. СОЗДАНИЕ ПОЛЕЙ ВЫБОРА И ВЫЧИСЛЯЕМЫХ ПОЛЕЙ
Поля выбора «Lookup» используются для создания виртуальных полей, данные в которых пользователь не набирает вручную, а выбирает из выпадающего списка. После выбора значения из списка оно отображается на экране, а в файл БД записывается код выбранного значения из выпадающего списка в соответствующее поле БД. Выпадающий список формируется из каких либо двух полей другой таблицы. Одно поле другой таблицы хранит код записи, а другое соответствующий текст, который появляется в выпадающем списке. Lookup-поля используются для подключения к основной таблице вспомогательных таблиц-справочников БД. Рассмотрим применение полей выбора на примере.
Например, имеется следующие таблицы:
Таблица 1. Диски CD (Table_CD)
Код дискаНазвание дискаКод фирмы(Name_CD)(Kod_Firm)0000001Итнернет 2001000010000002Суперсистемный диск 2k2000020000003English Platinum (2)000030000004All stars disco 2000040000005Золотая бухгалтерия 200100002Таблица 2. Фирмы поставщики (Table_Firm)
Код фирмы (Kod_Firm)Название фирмы (Name_Firm)00001Красные Челны00002Технопром00003CD-маркер00004МегаполисДанные таблицы имеют общее поле «Код фирмы». Необходимо сделать так, чтобы при просмотре первой таблицы вместо кодов фирм выходило соответствующее название фирмы. Для этого необходимо в первой таблице поле «код фирмы» сделать невидимым для визуальных компонент, и добавить к таблице «Lookup»-поле. Данное поле просмотра будет смотреть код фирмы в первой таблице у каждой записи, находить соответствующую запись с данным кодом во второй таблице, брать из второй таблицы соответствующее коду название фирмы и подставлять его в качестве своего значения. В результате первая таблица будет отображаться следующим образом:
Таблица 1. Диски CD (Table_CD)
Код дискаНазвание дискаФирма (Loolup-поле)(Name_CD)(nFirm)0000001Итнернет 2001Красные Челны0000002Суперсистемный диск 2k2Технопром0000003English Platinum (2)CD-маркер0000004All stars disco 2Мегаполис0000005Золотая бухгалтерия 2001ТехнопромЕсли при просмотре таблицы 1 мы поменяем для первой записи значение фирмы «Красные челны» на «Технопром» (через выпадающий список), то в поле «Код фирмы» таблицы 1 запишется значение «00002», взятое из таблицы 2. Таким образом, поля просмотра позволяют хранить в базе данных только нужные коды, а их текстовые значения брать из другой базы данных и подставлять для просмотра и выбора.