Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет BD 2.doc
Скачиваний:
19
Добавлен:
15.06.2014
Размер:
414.21 Кб
Скачать

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

Соседние файлы в предмете Базы данных