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

3.1 Процедура контроля вводимых значений при редактировании бд

procedure TForm22.Button1Click(Sender: TObject);begin

if (strtoint(edit3.text)<=0)or(strtoint(edit4.text)<=0)

then ShowMessage('Недопустимое значение цены') else end;

end;

3.2 Процедура поиска

procedure TForm19.ComboBox1Change(Sender: TObject);

var l:integer;

begin

for l:=1 to 6 do begin

TTable(FindComponent('Table'+IntToStr(l))).mastersource:=nil;

TTable(FindComponent('Table'+IntToStr(l))).masterfields:='';//обнуление связей

end;

IF comboBox1.Text='Произведения' then //поиск по произведениям

begin

ComboBox2.Items.Clear;

ComboBox2.Items.Add('W_ID');

ComboBox2.Items.Add('W_Name');

ComboBox2.Items.Add('M_ID');

ComboBox2.Items.Add('Creation_Date');

ComboBox2.Items.Add('W_Type');

ComboBox2.Items.Add('Technique');

table1.mastersource:=nil; //определение связей

table1.masterfields:='';

table6.mastersource:=datasource1;

table6.masterfields:='W_ID';

table2.mastersource:=datasource1;

table2.masterfields:='m_id';

table3.mastersource:=datasource4;

table3.masterfields:='a_id';

table4.mastersource:=datasource1;

table4.masterfields:='w_id';

table5.mastersource:=datasource6;

table5.masterfields:='e_id';

Table1.Open;

Table1.Filtered:=False;

end;

IF comboBox1.Text=comboBox1.Items[1] then//xyd

begin

ComboBox2.Items.Clear;

ComboBox2.Items.Add('M_ID');

ComboBox2.Items.Add('M_FIO');

ComboBox2.Items.Add('M_Birth');

ComboBox2.Items.Add('M_Address');

ComboBox2.Items.Add('Genre');

ComboBox2.Items.Add('Popularity');

table2.mastersource:=nil;

table2.masterfields:='';

table1.mastersource:=datasource2;

table1.masterfields:='M_ID';

table4.mastersource:=datasource1;

table4.masterfields:='w_id';

table3.mastersource:=datasource4;

table3.masterfields:='a_id';

table5.mastersource:=datasource6;

table5.masterfields:='e_id';

table6.mastersource:=datasource1;

table6.masterfields:='w_id';

Table2.Open;

Table2.Filtered:=False;

end;

IF comboBox1.Text='Аукционы' then

begin

ComboBox2.Items.Clear;

ComboBox2.Items.Add('A_ID');

ComboBox2.Items.Add('A_Name');

ComboBox2.Items.Add('A_Date');

table3.mastersource:=nil;

table3.masterfields:='';

table1.mastersource:=datasource4;

// table1.indexname:='unW_ID';

table1.masterfields:='W_ID';

table2.mastersource:=datasource1;

table2.masterfields:='m_id';

table4.mastersource:=datasource3;

table4.masterfields:='a_id';

table5.mastersource:=datasource6;

table5.masterfields:='e_id';

table6.mastersource:=datasource1;

table6.masterfields:='w_id';

Table3.Open;

Table3.Filtered:=False;

end;

IF comboBox1.Text='Произведения на аукционах' then

begin

ComboBox2.Items.Clear;

ComboBox2.Items.Add('A_ID');

ComboBox2.Items.Add('W_ID');

ComboBox2.Items.Add('First_Price');

ComboBox2.Items.Add('Sold');

table4.mastersource:=nil;

table4.masterfields:='';

table1.mastersource:=datasource4;

table1.masterfields:='W_ID';

table2.mastersource:=datasource1;

table2.masterfields:='m_id';

table3.mastersource:=datasource4;

table3.masterfields:='a_id';

table5.mastersource:=datasource6;

table5.masterfields:='e_id';

table6.mastersource:=datasource1;

table6.masterfields:='w_id';

Table4.Open;

Table4.Filtered:=False;

end;

IF comboBox1.Text='Выставки' then

begin

ComboBox2.Items.Clear;

ComboBox2.Items.Add('E_ID');

ComboBox2.Items.Add('Begin_Date');

ComboBox2.Items.Add('End_Date');

table6.mastersource:=nil;

table6.masterfields:='';

table1.mastersource:=datasource6;

// table1.indexname:='unW_ID';

table1.masterfields:='W_ID';

table2.mastersource:=datasource1;

table2.masterfields:='m_id';

table3.mastersource:=datasource4;

table3.masterfields:='a_id';

table4.mastersource:=datasource1;

table4.masterfields:='w_id';

table5.mastersource:=datasource6;

table5.masterfields:='e_id';

Table6.Open;

Table6.Filtered:=False;

end;

IF comboBox1.Text='Произведения на выставках' then

begin

ComboBox2.Items.Clear;

ComboBox2.Items.Add('E_ID');

ComboBox2.Items.Add('W_ID');

ComboBox2.Items.Add('Hall');

ComboBox2.Items.Add('S_ID');

ComboBox2.Items.Add('Take_Date');

ComboBox2.Items.Add('Return_Date');

table5.mastersource:=nil;

table5.masterfields:='';

table1.mastersource:=datasource6;

table1.masterfields:='W_ID';

table2.mastersource:=datasource1;

table2.masterfields:='m_id';

table3.mastersource:=datasource4;

table3.masterfields:='a_id';

table4.mastersource:=datasource1;

table4.masterfields:='w_id';

table6.mastersource:=datasource5;

table6.masterfields:='e_id';

Table5.Open;

Table5.Filtered:=False;

end;

IF comboBox1.Text='Сотрудники музея' then

begin

ComboBox2.Items.Clear;

ComboBox2.Items.Add('S_ID');

ComboBox2.Items.Add('S_FIO');

ComboBox2.Items.Add('S_Birth');

ComboBox2.Items.Add('S_Position');

end;

end;

procedure TForm19.Button1Click(Sender: TObject);

begin

If (ComboBox1.Text='Произведения') then begin

Table1.Active:=false;

Table1.Filter:=ComboBox2.Text+'='+QuotedStr(Edit1.Text);//установка фильтра

Table1.Active:=true;

Table1.Filtered:=true; //поиск по произведениям

if Table1.RecordCount=0 then

MessageDlg('Запись не найдена!',mtInformation,[mbOK],0);

end;

If (ComboBox1.Text='Художники') then begin

Table2.Active:=false;

Table2.Filter:=ComboBox2.Text+'='+QuotedStr(Edit1.Text);

Table2.Active:=true;

Table2.Filtered:=true;

if Table2.RecordCount=0 then

MessageDlg('Запись не найдена!',mtInformation,[mbOK],0);

end;

If (ComboBox1.Text='Аукционы') then begin

Table3.Active:=false;

Table3.Filter:=ComboBox2.Text+'='+QuotedStr(Edit1.Text);

Table3.Active:=true;

Table3.Filtered:=true;

if Table3.RecordCount=0 then

MessageDlg('Запись не найдена!',mtInformation,[mbOK],0);

end;

If (ComboBox1.Text='Произведения на аукционах') then begin

Table4.Active:=false;

Table4.Filter:=ComboBox2.Text+'='+QuotedStr(Edit1.Text);

Table4.Active:=true;

Table4.Filtered:=true;

if Table4.RecordCount=0 then

MessageDlg('Запись не найдена!',mtInformation,[mbOK],0);

end;

If (ComboBox1.Text='Произведения на выставках') then begin

Table5.Active:=false;

Table5.Filter:=ComboBox2.Text+'='+QuotedStr(Edit1.Text);

Table5.Active:=true;

Table5.Filtered:=true;

if Table5.RecordCount=0 then

MessageDlg('Запись не найдена!',mtInformation,[mbOK],0);

end;

If (ComboBox1.Text='Выставки') then begin

Table6.Active:=false;

Table6.Filter:=ComboBox2.Text+'='+QuotedStr(Edit1.Text);

Table6.Active:=true;

Table6.Filtered:=true;

if Table6.RecordCount=0 then

MessageDlg('Запись не найдена!',mtInformation,[mbOK],0);

end;

end;

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