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

    1: s:=' order by gruppa';

    2: s:=' order by tel1';

    3: s:=' order by tel2';

    4: s:=' order by tel3';

end;

  DataModule2.ADOQuery1.Close;

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

  DataModule2.ADOQuery1.Open;                                 //Запросссортировкой

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

end;

procedure TForm3.RadioGroup2Click(Sender: TObject);         //Поиск

var t1, t2, s1, s2: string;

begin

  t1:='select * from (select id_kont, FIO as Наименование, tel_sot as Телефон1, tel_dom as Телефон2, tel_rab as Телефон3, email, adress, g.name_gruppa as Группа, fiz  from fiz_kontakt f, gruppa_kontakt g where f.id_gruppa=g.id_gruppa';

  t2:=' (select id_org, name_org as Наименование, tel1 as Телефон, tel2 as Телефон, tel3 as Телефон, email, adress, g.name_gruppa as Группа, fiz from org_kontakt o, gruppa_kontakt g where o.id_gruppa=g.id_gruppa';

  case RadioGroup2.ItemIndex of                                     //Выборстрокипоиска

    0:

    begin

      s1:=' and FIO like '+''''+'%'+''+Edit1.Text+''+'%'+''''+')';

      s2:=' and name_org like '+''''+'%'+''+Edit1.Text+''+'%'+''''+')';

    end;                                                //Поиск по части введенного имени

1:

    begin

      s1:=' and ( tel_sot like '+''''+'%'+''+Edit1.Text+''+'%'+''''+' or tel_dom like '+''''+'%'+''+Edit1.Text+''+'%'+''''+' or tel_rab like '+''''+'%'+''+Edit1.Text+''+'%'+''''+'))';

      s2:=' and ( tel1 like '+''''+'%'+''+Edit1.Text+''+'%'+''''+' or tel2 like '+''''+'%'+''+Edit1.Text+''+'%'+''''+' or tel3 like '+''''+'%'+''+Edit1.Text+''+'%'+''''+'))';

    end;                                                //Поиск по части введенного телефона

end;

  DataModule2.ADOQuery1.Close;

  DataModule2.ADOQuery1.SQL.Text:=t1+s1+' union '+t2+s2;

  DataModule2.ADOQuery1.Open;                                            //Запрос с поиском

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

end;

end.


4.  kont_add, форма Form4.

Форма добавления контактов – позволяет вводить информацию о контакте, открывается при нажатии на кнопку «Добавление» на главной форме работы с контактами (Form3).

unit kont_add;

interface

uses

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

  Dialogs, StdCtrls, conect, kont_main;

type

  TForm4 = class(TForm)

    ComboBox1: TComboBox;

    ComboBox2: TComboBox;

    Edit1: TEdit;

    Edit2: TEdit;

    Edit3: TEdit;

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Label4: TLabel;

    Label5: TLabel;

    Edit4: TEdit;

    Edit5: TEdit;

    Label6: TLabel;

    Label7: TLabel;

    Edit6: TEdit;

    Label8: TLabel;

    Button1: TButton;

    procedure FormActivate(Sender: TObject);

    procedure ComboBox1Change(Sender: TObject);

    procedure Button1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form4: TForm4;

implementation

{$R *.dfm}

procedure TForm4.Button1Click(Sender: TObject);        //Кнопка «Добавить»

var//при нажатии на нее производится

t1, 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:='insert into fiz_kontakt (FIO, tel_sot, tel_dom, tel_rab, email, adress, id_gruppa, fiz) values ('+''''+Edit1.Text+''''+','+''''+Edit2.Text+''''+','+''''+Edit3.Text+''''+','+''''+Edit4.Text+''''+','+''''+Edit5.Text+''''+','+''''+Edit6.Text+''''+','+''''+DataModule2.ADOQuery2.Fields.Fields[0].AsString+''''+', true)';          //Добавлениезаписи