
- •Содержание расчётно-графической работы
- •Логическая структура базы данных
- •Физическая структура базы данных
- •Приложения для работы с базой данных
- •If Form1.Table4.Locate('nazvanie',Edit1.Text,[])
- •If not Form1.Table6.Locate('naz_produk',Edit2.Text,[])
- •I: byte;
- •0: Begin // выбрана таблица Table1
- •0: Begin
- •1: Begin …
- •Руководство пользователя
- •Заключение
- •Список используемой литературы
If not Form1.Table6.Locate('naz_produk',Edit2.Text,[])
then begin
Form1.Table6.InsertRecord([Edit1.text,Edit2.text,Edit3.text]);
Form4.Visible:=False;
end
else ShowMessage('Такое название продукта уже существует');
if (Form1.Table6.MasterSource<>nil)and
(not Form1.Table6.MasterSource.Enabled)
then Form1.Table6.MasterSource.Enabled:=True;
end;
end;
2. Возможность изменения данных в таблицах
Пример программной организации изменения записи в таблице Состав труппы
Открытие формы для изменения данных в таблице
procedure TForm1.Button19Click(Sender: TObject);
begin
Form8.Edit1.Text:=Table8['NOM_PROGRA'];
Form8.Edit2.Text:=Table8['SOSTAV'];
Form8.Visible:=True;
end;
Процедура изменения данных
procedure TForm8.Button1Click(Sender: TObject);
begin
Form1.Table8.Edit;
Form1.Table8['NOM_PROGRA']:=strtoint(edit1.text);
Form1.Table8['SOSTAV']:=edit2.text;
Form1.Table8.Post;
Form8.close;
end;
3. Поиск необходимой информации по какой либо таблице
Для осуществления поиска связи между таблицами удаляются, затем связи перестраиваются так что бы эта таблица стала главной.
Пример поиска по всем таблицам:
procedure TForm1.ComboBox1Change(Sender: TObject);
var
I: byte;
begin
// разрываем связи между таблицами
Table1.MasterFields:='';
Table1.MasterSource:=nil;
Table2.MasterFields:='';
Table2.MasterSource:=nil;
Table3.MasterFields:='';
Table3.MasterSource:=nil;
Table4.MasterFields:='';
Table4.MasterSource:=nil;
Table5.MasterFields:='';
Table5.MasterSource:=nil;
Table6.MasterFields:='';
Table6.MasterSource:=nil;
Table7.MasterFields:='';
Table7.MasterSource:=nil;
Table8.MasterFields:='';
Table8.MasterSource:=nil;
Table9.MasterFields:='';
Table9.MasterSource:=nil;
Table10.MasterFields:='';
Table10.MasterSource:=nil;
ComboBox2.Clear;
case ComboBox1.ItemIndex of
0: Begin // выбрана таблица Table1
// делаем Table1 главной
Table2.IndexName:='NOM_KUHNI2';
Table2.MasterSource:=DataSource1;
Table2.MasterFields:='NOM_KUHNI';
Table7.IndexName:='NOM_PROG7';
Table7.MasterSource:=DataSource1;
Table7.MasterFields:='NOM_PROGRA';
Table3.IndexName:='NOM_KUHN3';
Table3.MasterSource:=DataSource2;
Table3.MasterFields:='NOM_KUHNI';
Table4.IndexName:='NOM_BLUDA4';
Table4.MasterSource:=DataSource3;
Table4.MasterFields:='NOM_BLUDA';
Table5.IndexName:='NOM_BLUDA5';
Table5.MasterSource:=DataSource4;
Table5.MasterFields:='NOM_BLUDA';
Table6.IndexName:='KOD_PROD6';
Table6.MasterSource:=DataSource5;
Table6.MasterFields:='KOD_PRODUK';
Table8.IndexName:='NOM_PROG8';
Table8.MasterSource:=DataSource7;
Table8.MasterFields:='NOM_PROGRA';
Table9.IndexName:='KOD_PROD9';
Table9.MasterSource:=DataSource6;
Table9.MasterFields:='KOD_PRODUK';
Table10.IndexName:='KOD_POST10';
Table10.MasterSource:=DataSource9;
Table10.MasterFields:='KOD_POSTAV';
// заполняем ComboBox2 именами полей таблицы Table1
for i:=0 to Table1.FieldDefs.Count-1 do
ComboBox2.Items.Add(Table1.FieldDefs.Items[i].Name);
end;
1: begin // выбрана таблица Table2 … аналогично для остальных таблиц
Процедура для поиска
procedure TForm1.Button13Click(Sender: TObject);
var
FilterString: String;
begin
FilterString:=ComboBox2.Text + '=''' + Edit3.Text + '''';
case ComboBox1.ItemIndex of