Смекни!
smekni.com

Создание базы данных "РЭО-ГАИ" (стр. 4 из 4)

Label6: TLabel;

ComboBox2: TComboBox;

Label7: TLabel;

N2: TMenuItem;

WordDocument1: TWordDocument;

WordApplication1: TWordApplication;

SaveDialog1: TSaveDialog;

procedure N1Click (Sender: TObject);

procedure SpeedButton1Click (Sender: TObject);

procedure SpeedButton2Click (Sender: TObject);

procedure SpeedButton3Click (Sender: TObject);

procedure N2Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Otchety: TOtchety;

otchetnum: integer;

implementation

uses Unit6;

{$R *. dfm}

procedure TOtchety. N1Click (Sender: TObject);

var

c,n: integer;

s,rs: string;

begin

form6. Show;

// leep (10);

for n: =0 to adodataset2. RecordCount-1 do

begin

rs: ='';

s: ='';

if n=0 then

begin

for c: =0 to DBGrid1. Columns. Count-1 do

begin

s: =DBGrid1. Columns [c]. FieldName+ '';

rs: =rs+s;

end;

form6. Memo1. Lines. Add (rs);

rs: ='';

s: ='';

end;

for c: =0 to DBGrid1. Columns. Count-1 do

begin

s: =DBGrid1. Columns [c]. Field. AsString+'';

rs: =rs+s;

end;

form6. memo1. Lines. Add (rs);

adodataset2. Next;

end;

begin

if form6. savedialog1. Execute then

form6. memo1. Lines. SaveToFile (form6. savedialog1. FileName);

end;

end;

procedure TOtchety. SpeedButton1Click (Sender: TObject);

begin

adodataset2. Active: =false;

adodataset2.commandText: =' SELECT Движение. [№автомобиля], Движение. [РНН владельца],'+

'Операции. [Наименование операции], Районы_учета. [Наименование района учета],'+

'Движение. [Дата операции] '+

' FROM Движение, Операции,Районы_учета '+

' WHERE Движение. [№автомобиля] like '+''''+'%'+combobox1. Text+'%'+'''' +

' AND Районы_учета. [Код района учета] = Движение. [Код района учета] '+

' AND Операции. [Код операции] = Движение. [Код операции] ; ';

adodataset2. Active: =true;

end;

procedure TOtchety. SpeedButton2Click (Sender: TObject);

begin

adodataset2. Active: =false;

adodataset2.commandText: =' SELECT [№автомобиля], Автомобили. [РНН владельца], Владельцы. [ФИО/наименование] '+

' FROM Автомобили, Владельцы '+

' WHERE Владельцы. [Рнн владельца] = Автомобили. [РНН владельца] '+

' AND [Признак владельца] = ''ф'' '+

' order by Владельцы. [ФИО/наименование] ';

adodataset2. Active: =true;

end;

procedure TOtchety. SpeedButton3Click (Sender: TObject);

begin

// QuotedStr (Maskedit2. Text);

adodataset2. Active: =false;

adodataset2.commandText: =' SELECT Движение. [Дата операции], Движение. [№автомобиля], Движение. [РНН владельца],'+

'Районы_учета. [Наименование района учета], Операции. [Наименование операции] '+

' FROM Движение, Районы_учета, Операции '+

' WHERE Районы_учета. [Код района учета] = Движение. [Код района учета] '+

' AND Операции. [Код операции] = Движение. [Код операции] '+

' and Движение. [Дата операции] ='''+ComboBox2. Text +'''';

// ' AND year (Движение. [Дата операции]) =year (''13 October 2007'') '+

// ' and month (Движение. [Дата операции]) =month (''13 October 2007'') '+

// ' and day (Движение. [Дата операции]) =day (''13 October 2007''); ';

// ' and SHTRAFI. Oplacheno = ''Оплачено '' AND dbo. SHTRAFI. Data BETWEEN '''+ MaskEdit3. Text +''' AND '''+ MaskEdit4. Text +''' '+

// ' AND Aaeea? aoee. "aaoa iiaa? e"='''+ComboBox2. Text +''''+

adodataset2. Active: =true;

end;

procedure TOtchety. N2Click (Sender: TObject);

var filename,ran1: Olevariant;

rowcount,colcount, i,j: integer;

temp: string;

begin

savedialog1. FileName: ='otchet'+inttostr (otchetnum) +'. doc'; // имя файла

otchetnum: =otchetnum+1; // формирование след отчета

wordapplication1. Connect; // соединение

filename: =savedialog1. FileName;

wordapplication1. Documents. Add (emptyparam,emptyparam,emptyparam,emptyparam); // создание нового файла

worddocument1. connectto (wordapplication1. activedocument); // обратится к новому файлу

// ran1: =worddocument1. Range;

rowcount: =adodataset2. RecordCount; // сколько строк нужно создать в файле

colcount: =dbgrid1. Columns. Count; // сколько столбцов нужно создать в файле

worddocument1. Tables. Add (worddocument1. Range,rowcount,colcount,emptyparam,emptyparam); // соз-е строк и столбцов

for i: =1 to rowcount do

begin

for j: =1 to colcount do

begin

temp: =dbgrid1. Fields [j-1]. AsString; // содержание ячейки в таблице

worddocument1. Tables. Item (1). cell (i,j). range. text: =temp; // занести в doc

end;

adodataset2. Next; // следующая строка

end;

WordApplication1. Visible: = True; // сделать документ видимым

worddocument1. SaveAs (filename); // сохранить документ

end;

end.

procedure TForm3. BitBtn1Click (Sender: TObject);

begin

QuotedStr (maskedit1. Text);

QuotedStr (maskedit2. Text);

adodataset2. Active: =false;

adodataset2.commandText: =' SELECT dbo. UDOSTOVERENIYA. N_udostovereniya, dbo. UDOSTOVERENIYA. Data_vipiski, dbo. UDOSTOVERENIYA. Srok_deistviya, dbo. INSPEKTOR. FIO '+

' FROM dbo. UDOSTOVERENIYA INNER JOIN '+

' dbo. INSPEKTOR ON dbo. UDOSTOVERENIYA. Kod_inspectora = dbo. INSPEKTOR. Kod_inspektora '+

' WHERE (dbo. INSPEKTOR. FIO LIKE '+'''%'+Edit3. Text+'%'+''' AND dbo. UDOSTOVERENIYA. Data_vipiski BETWEEN '''+ MaskEdit1. Text + ''' AND '''+ MaskEdit2. Text +''') ';

adodataset2. Active: =true;

end.

unit Unit4;

interface

uses

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

Dialogs, StdCtrls, Grids, DBGrids, DB, ADODB, Buttons;

type

TProcedury = class (TForm)

ADODataSet1: TADODataSet;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

Label1: TLabel;

Label2: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

ComboBox1: TComboBox;

Label8: TLabel;

ComboBox2: TComboBox;

ComboBox3: TComboBox;

ComboBox4: TComboBox;

SpeedButton1: TSpeedButton;

SpeedButton2: TSpeedButton;

Label10: TLabel;

Label11: TLabel;

procedure ComboBox1KeyPress (Sender: TObject; var Key: Char);

procedure ComboBox3KeyPress (Sender: TObject; var Key: Char);

procedure ComboBox2KeyPress (Sender: TObject; var Key: Char);

procedure ComboBox3Change (Sender: TObject);

procedure ComboBox4Change (Sender: TObject);

procedure SpeedButton1Click (Sender: TObject);

procedure SpeedButton2Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Procedury: TProcedury;

implementation

{$R *. dfm}

procedure TProcedury.comboBox1KeyPress (Sender: TObject; var Key: Char);

begin

if not (key in ['0'. '9',#8]) then key: =#0;

end;

procedure TProcedury.comboBox3KeyPress (Sender: TObject; var Key: Char);

begin

if not (key in ['0'. '9',#8]) then key: =#0;

end;

procedure TProcedury.comboBox2KeyPress (Sender: TObject; var Key: Char);

begin

if not (key in ['0'. '9',#8]) then key: =#0;

end;

procedure TProcedury.comboBox3Change (Sender: TObject);

var

i: integer;

begin

for i: =0 to ComboBox3. Items. Count do

if ComboBox3. ItemIndex=i then ComboBox1. ItemIndex: =i;

end;

procedure TProcedury.comboBox4Change (Sender: TObject);

var

i: integer;

begin

for i: =0 to ComboBox4. Items. Count do

if ComboBox4. ItemIndex=i then ComboBox2. ItemIndex: =i;

end;

procedure TProcedury. SpeedButton1Click (Sender: TObject);

begin

adodataset1. Active: =false;

adodataset1.commandText: ='execute Vyboravto1';

adodataset1. Active: =true;

end;

procedure TProcedury. SpeedButton2Click (Sender: TObject);

begin

adodataset1. Active: =false;

adodataset1.commandText: ='execute Vyboravto2 '''+ combobox1. Text + ''',''' + combobox2. Text +''' ';

adodataset1. Active: =true;

end;

end.

unit Unit5;

interface

uses

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

Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls, Buttons;

type

TSpravka = class (TForm)

DataSource1: TDataSource;

DBGrid1: TDBGrid;

ADODataSet1: TADODataSet;

Label5: TLabel;

Label8: TLabel;

Label3: TLabel;

ComboBox4: TComboBox;

Label11: TLabel;

Label12: TLabel;

ComboBox5: TComboBox;

Label14: TLabel;

Label15: TLabel;

ComboBox6: TComboBox;

BitBtn1: TBitBtn;

procedure BitBtn1Click (Sender: TObject);

{ Private declarations }

public

{ Public declarations }

end;

var

Spravka: TSpravka;

sum1, sum2, sum3: boolean;

implementation

{$R *. dfm}

procedure TSpravka. BitBtn1Click (Sender: TObject);

begin

sum1: =false;

sum2: =false;

sum3: =false;

if ComboBox4. Text<>'' then sum1: =true;

if ComboBox5. Text<>'' then sum2: =true;

if ComboBox6. Text<>'' then sum3: =true;

if (sum1) and (sum2) and (sum3) then

begin

adodataset1. Active: =false;

adodataset1.commandText: ='SELECTАвтомобили. * ' +

' FROMАвтомобили, Марки_автомобиля, Цвета, Типы_кузова' +

' WHERE Автомобили. [Код типа кузова] =Типы_кузова. [Код типа кузова] ' +

' AND Автомобили. [Код марки авто] =Марки_автомобиля. [Код марки авто] ' +

' AND Автомобили. [Код цвета] =Цвета. [Код цвета] '+

' AND Типы_кузова. [Наименование] ='''+ComboBox4. Text +''''+

' AND Марки_автомобиля. [Наименование] ='''+ComboBox5. Text +''''+

' AND Цвета. [Наименование] ='''+ComboBox6. Text +'''';

adodataset1. Active: =true;

end;

if (not sum1) and (not sum2) and (not sum3) then

begin

adodataset1. Active: =false;

adodataset1.commandText: ='SELECT* '+

' FROMАвтомобили';

adodataset1. Active: =true;

end;

if (not sum1) and (not sum2) and (sum3) then

begin

adodataset1. Active: =false;

adodataset1.commandText: ='SELECTАвтомобили. * ' +

' FROMАвтомобили, Цвета' +

' WHERE Автомобили. [Код цвета] =Цвета. [Код цвета] '+

' AND Цвета. [Наименование] ='''+ComboBox6. Text +'''';

adodataset1. Active: =true;

end;

if (not sum1) and (sum2) and (not sum3) then

begin

adodataset1. Active: =false;

adodataset1.commandText: ='SELECTАвтомобили. * ' +

' FROMАвтомобили, Марки_автомобиля' +

' WHERE Автомобили. [Код марки авто] =Марки_автомобиля. [Код марки авто] ' +

' AND Марки_автомобиля. [Наименование] ='''+ComboBox5. Text +'''';

adodataset1. Active: =true;

end;

if (sum1) and (not sum2) and (not sum3) then

begin

adodataset1. Active: =false;

adodataset1.commandText: ='SELECTАвтомобили. * ' +

' FROMАвтомобили, Типы_кузова' +

' WHERE Автомобили. [Код типа кузова] =Типы_кузова. [Код типа кузова] ' +

' AND Типы_кузова. [Наименование] ='''+ComboBox4. Text +'''';

adodataset1. Active: =true;

end;

if (not sum1) and (sum2) and (sum3) then

begin

adodataset1. Active: =false;

adodataset1.commandText: ='SELECTАвтомобили. * ' +

' FROMАвтомобили, Марки_автомобиля, Цвета' +

' WHERE Автомобили. [Код марки авто] =Марки_автомобиля. [Код марки авто] ' +

' AND Автомобили. [Код цвета] =Цвета. [Код цвета] '+

' AND Марки_автомобиля. [Наименование] ='''+ComboBox5. Text +''''+

' AND Цвета. [Наименование] ='''+ComboBox6. Text +'''';

adodataset1. Active: =true;

end;

if (sum1) and (not sum2) and (sum3) then

begin

adodataset1. Active: =false;

adodataset1.commandText: ='SELECTАвтомобили. * ' +

' FROMАвтомобили, Марки_автомобиля, Цвета, Типы_кузова' +

' WHERE Автомобили. [Код типа кузова] =Типы_кузова. [Код типа кузова] ' +

' AND Автомобили. [Код цвета] =Цвета. [Код цвета] '+

' AND Типы_кузова. [Наименование] ='''+ComboBox4. Text +''''+

' AND Цвета. [Наименование] ='''+ComboBox6. Text +'''';

adodataset1. Active: =true;

end;

if (sum1) and (sum2) and (not sum3) then

begin

adodataset1. Active: =false;

adodataset1.commandText: ='SELECTАвтомобили. * ' +

' FROMАвтомобили, Марки_автомобиля, Типы_кузова' +

' WHERE Автомобили. [Код типа кузова] =Типы_кузова. [Код типа кузова] ' +

' AND Автомобили. [Код марки авто] =Марки_автомобиля. [Код марки авто] ' +

' AND Типы_кузова. [Наименование] ='''+ComboBox4. Text +''''+

' AND Марки_автомобиля. [Наименование] ='''+ComboBox5. Text +'''';

adodataset1. Active: =true;

end;

end;

end.

unit Unit6;

interface

uses

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

Dialogs, StdCtrls;

type

TForm6 = class (TForm)

Memo1: TMemo;

SaveDialog1: TSaveDialog;

Button1: TButton;

procedure Button1Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form6: TForm6;

implementation

{$R *. dfm}

procedure TForm6. Button1Click (Sender: TObject);

begin

memo1. Lines. Text: ='';

form6. Hide;

end; end.