Разработка проекта «Автоматизированная записная книжка» с помощью СУБД Microsoft Office Access 2003, страница 8

unit kont_upd;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, conect, kont_main;

type

  TForm6 = class(TForm)

    ComboBox1: TComboBox;

    ComboBox2: TComboBox;

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Label4: TLabel;

    Label5: TLabel;

    Label6: TLabel;

    Label7: TLabel;

    Label8: TLabel;

    Edit1: TEdit;

    Edit2: TEdit;

    Edit3: TEdit;

    Edit4: TEdit;

    Edit5: TEdit;

    Edit6: TEdit;

    Button1: TButton;

    procedure FormActivate(Sender: TObject);

    procedure Button1Click(Sender: TObject);

     private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form6: TForm6;

implementation

{$R *.dfm}

procedure TForm6.Button1Click(Sender: TObject);//Кнопка «Редактировать»

vart1, t2: string;                                          //при нажатии на нее производится

begin//изменение введенной в поля

DataModule2.ADOQuery2.Close;              //формыинформации

  DataModule2.ADOQuery2.SQL.Text:='select id_gruppa from gruppa_kontakt where name_gruppa='+''''+ComboBox2.Text+'''';

  DataModule2.ADOQuery2.Open;                        //Получение id, выбранной в

//ComboBox группы

  if DataModule2.ADOQuery1.Fields.Fields[8].AsString='True' then

    begin

      DataModule2.ADOQuery1.SQL.Text:='update fiz_kontakt set FIO='+''''+Edit1.Text+''''+', tel_sot='+''''+Edit2.Text+''''+', tel_dom='+''''+Edit3.Text+''''+', tel_rab='+''''+Edit4.Text+''''+', email='+''''+Edit5.Text+''''+', adress='+''''+Edit6.Text+''''+', id_gruppa='+''''+DataModule2.ADOQuery2.Fields.Fields[0].AsString+''''+' where id_kont='+''+DataModule2.ADOQuery1.Fields.Fields[0].AsString+'';

      DataModule2.ADOQuery1.ExecSQL;              //Изменение записи

end                                                                      //вбазеданных

          else                                                               //втаблицу  fiz_kontakt

    begin

      DataModule2.ADOQuery1.SQL.Text:='update org_kontakt set name_org='+''''+Edit1.Text+''''+', tel1='+''''+Edit2.Text+''''+', tel2='+''''+Edit3.Text+''''+', tel3='+''''+Edit4.Text+''''+', email='+''''+Edit5.Text+''''+', adress='+''''+Edit6.Text+''''+', id_gruppa='+''''+DataModule2.ADOQuery2.Fields.Fields[0].AsString+''''+' where id_org='+''+DataModule2.ADOQuery1.Fields.Fields[0].AsString+'';

      DataModule2.ADOQuery1.ExecSQL;              //Изменение записи

end;                                                                    //в базе данных

//в таблицу  org_kontakt

t1:='select * from (selectid_kontasid, FIOasНаименование, tel_sotasТелефон1, tel_domasТелефон2, tel_rabas Телефон3, email, adress, g.name_gruppaasГруппа, fizfromfiz_kontaktf, gruppa_kontaktgwheref.id_gruppa=g.id_gruppa)';

t2:=' union (selectid_orgasid, name_orgas Наименование, tel1 asТелефон1, tel2 asТелефон2, tel3 asТелефон3, email, adress, g.name_gruppaasГруппа, fizfromorg_kontakto, gruppa_kontaktgwhereo.id_gruppa=g.id_gruppa)';

DataModule2.ADOQuery1.Close;

  DataModule2.ADOQuery1.SQL.Text:=t1+t2;

  DataModule2.ADOQuery1.Open;                        //Обновлениезапроса

Form3.Width_col();                                    //Выравнивание столбцов в таблице

Form6.Close;                                             //Закрытие формы редактирования

end;

procedure TForm6.FormActivate(Sender: TObject);       //Активацияформы

begin

  if DataModule2.ADOQuery1.Fields.Fields[8].AsString='True' then

    begin//Выбор надписей в зависимости

Label3.Caption:='Фамилия';                 //от типа контактов

Label4.Caption:='Сотовыйтелефон';

      Label5.Caption:='Домашнийтелефон';

      Label6.Caption:='Рабочийтелефон';

      ComboBox1.ItemIndex:=0;

    end

  else

    begin

      Label3.Caption:='Наименование';

      Label4.Caption:='Телефон 1';

      Label5.Caption:='Телефон 2';

      Label6.Caption:='Телефон 3';

      ComboBox1.ItemIndex:=1;

    end;

ComboBox2.Items.Clear;                 //Очистка раскрывающегося списка групп