Скачиваний:
8
Добавлен:
17.06.2023
Размер:
2.02 Mб
Скачать

begin DostupForm.Show; MainForm.hide; end;

procedure TMainForm.N13Click(Sender: TObject); begin

PrepDiscForm.ShowModal;

end;

procedure TMainForm.N10Click(Sender: TObject); begin

SmenaParolForm.ShowModal;

end;

end.

unit NagruzkaUnit;

interface

uses

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

Dialogs, DB, ADODB, StdCtrls, DBCtrls, Mask, ExtCtrls, Grids, DBGrids;

type

TNagruzkaForm = class(TForm) DBGrid1: TDBGrid;

Panel1: TPanel;

Label2: TLabel;

Label1: TLabel;

Label3: TLabel;

Label6: TLabel; DBEdit2: TDBEdit; DBEdit1: TDBEdit; Button4: TButton; Button3: TButton; Button2: TButton; Button1: TButton; Button5: TButton;

DBCheckBox1: TDBCheckBox;

DBCheckBox2: TDBCheckBox;

ADODataSet1: TADODataSet; DataSource1: TDataSource; ADODataSet2: TADODataSet; DBEdit6: TDBEdit;

DBEdit7: TDBEdit;

DBEdit8: TDBEdit; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; DBEdit9: TDBEdit; DBEdit10: TDBEdit; Label4: TLabel;

DBLookupComboBox1: TDBLookupComboBox; Label5: TLabel;

DataSource2: TDataSource; Button6: TButton; ADODataSet3: TADODataSet;

DBLookupComboBox2: TDBLookupComboBox; ADODataSet4: TADODataSet;

DataSource4: TDataSource; ADODataSet5: TADODataSet; Panel2: TPanel;

Label11: TLabel;

Label12: TLabel; ComboBox1: TComboBox; Edit4: TEdit;

procedure Button3Click(Sender: TObject); procedure FormActivate(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button5Click(Sender: TObject);

procedure Edit4Change(Sender: TObject); procedure DBGrid1TitleClick(Column: TColumn);

private

{Private declarations } public

{Public declarations } end;

var

NagruzkaForm: TNagruzkaForm;

implementation

uses PrepDiscUnit;

{$R *.dfm}

procedure TNagruzkaForm.Button3Click(Sender: TObject); var sum:real;

begin

if (DBCheckBox1.Checked = true) and (DBCheckBox2.Checked = true) then

begin ADODataSet1.Edit;

ADODataSet1['n_oplata']:= strtoint(DBEdit6.text)*(strtoint(DBEdit7.text) + strtoint(DBEdit8.text) + strtoint(DBEdit9.text) + 0.8 * strtoint(DBEdit10.text));

ADODataSet1.Post;

ADODataSet1.Active:=False;

ADODataSet1.Active:=True; end

else

if (DBCheckBox1.Checked = true) and (DBCheckBox2.Checked

=false) then begin

ADODataSet1.Edit;

ADODataSet1['n_oplata']:= strtoint(DBEdit6.text)*(strtoint(DBEdit7.text) + strtoint(DBEdit8.text) + strtoint(DBEdit9.text) + 0.4 * strtoint(DBEdit10.text));

ADODataSet1.Post;

ADODataSet1.Active:=False;

ADODataSet1.Active:=True; end

else

if (DBCheckBox1.Checked = false) and (DBCheckBox2.Checked = true) then

begin ADODataSet1.Edit;

ADODataSet1['n_oplata']:= strtoint(DBEdit6.text)*(strtoint(DBEdit7.text) + strtoint(DBEdit8.text) + strtoint(DBEdit9.text) + 0.4 * strtoint(DBEdit10.text));

ADODataSet1.Post;

ADODataSet1.Active:=False;

ADODataSet1.Active:=True; end

else

if (DBCheckBox1.Checked = false) OR (DBCheckBox2.Checked = false) then

begin ADODataSet1.Edit;

ADODataSet1['n_oplata']:= strtoint(DBEdit6.text)*(strtoint(DBEdit7.text) + strtoint(DBEdit8.text) + strtoint(DBEdit9.text));

ADODataSet1.Post;

ADODataSet1.Active:=False;

ADODataSet1.Active:=True; end

{ADODataSet1.Edit;

ADODataSet1['n_oplata']:=strtoint(DBEdit6.text)*(strtoint(DBEdit 6.text) + strtoint(DBEdit7.text) + strtoint(DBEdit8.text));

ADODataSet1.Post;

ADODataSet1.Active:=False;

ADODataSet1.Active:=True;}

42

end;

procedure TNagruzkaForm.FormActivate(Sender: TObject); var i:integer;

begin

ADODataSet1.Active:=False; ADODataSet1.CommandText:='SELECT nagruzka.n_semestr,

discipline.d_nazvanie, prepodavateli.pr_FIO, tarify.t_tarif, discipline.d_RZ, discipline.d_ekz, discipline.d_hour_lektsii, discipline.d_hour_lab, discipline.d_hour_practice,'#13#10 +

' nagruzka.n_oplata, nagruzka.n_id_nagruzka, gruppy.gr_chisl_stud, PrepodDiscipline.prepDisc_id, gruppy.gr_nazvanie, nagruzka.n_prepDisc, nagruzka.n_gruppa'#13#10 +

'FROM tarify INNER JOIN ((prepodavateli INNER JOIN (discipline INNER JOIN PrepodDiscipline ON discipline.d_id_discipline = PrepodDiscipline.prepDisc_disc) ON prepodavateli.pr_id_prepoda = PrepodDiscipline.prepDisc_prep) INNER JOIN'#13#10 +

' (gruppy INNER JOIN nagruzka ON gruppy.gr_id_gruppy = nagruzka.n_gruppa) ON PrepodDiscipline.prepDisc_id = nagruzka.n_prepDisc) ON tarify.t_id_tarifa = prepodavateli.pr_dolzhnost';

ADODataSet1.Active:=True;

ADODataSet2.Active:=False; ADODataSet2.CommandText:='SELECT * FROM

prepodDiscipline';

ADODataSet2.Active:=True;

ADODataSet4.Active:=False; ADODataSet4.CommandText:='SELECT * FROM gruppy'; ADODataSet4.Active:=True;

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

ComboBox1.Items.Add(DBGrid1.Columns.Items[i].Title.Caption)

;

end;

procedure TNagruzkaForm.Button6Click(Sender: TObject); begin

PrepDiscForm.ShowModal;

end;

procedure TNagruzkaForm.Button4Click(Sender: TObject); begin

//ins:=true;

if DBEdit2.Enabled then DBEdit2.SetFocus; ADODataSet1.Insert;

end;

procedure TNagruzkaForm.Button1Click(Sender: TObject); begin

//ins:=false;

ADODataSet3.Active:=false; ADODataSet3.CommandText:='SELECT nagruzka.n_prepDisc,

nagruzka.n_gruppa, nagruzka.n_semestr'#13#10 + 'FROM nagruzka WHERE (((nagruzka.n_prepDisc) like "'+inttostr(DBLookupComboBox1.KeyValue)+'") AND ((nagruzka.n_gruppa) like "'+inttostr(DBLookupComboBox2.KeyValue)+'") AND ((nagruzka.n_semestr) like "'+DBEdit2.text+'"))';

ADODataSet3.Active:=true;

if (DBEdit2.text='') or (DBLookupComboBox2.KeyValue=null) or (DBLookupComboBox1.KeyValue=null) then

begin

MessageDlg('Заполнитевсеполя',mtWarning, [mbOk], 0); end

else

if ADODataSet3.RecordCount>0 then begin

MessageDlg('Такаязаписьужеесть',mtWarning, [mbOk], 0); ADODataSet1.Cancel;

end else begin

ADODataSet1['n_semestr']:=inttostr(DBLookupComboBox1.Key

Value);

ADODataSet1['n_gruppa']:=inttostr(DBLookupComboBox1.KeyV alue);

ADODataSet1['n_prepDisc']:=inttostr(DBLookupComboBox1.Key Value);

ADODataSet1.Post;

ADODataSet1.Active:=False;

ADODataSet1.Active:=True;

end;

end;

procedure TNagruzkaForm.Button2Click(Sender: TObject); var i:Integer;

begin ADODataSet5.Active:=False;

ADODataSet5.CommandText:='SELECT * FROM nagruzka'; ADODataSet5.Active:=True;

ADODataSet1.Active:=True; i:=ADODataSet1.FieldValues['n_id_nagruzka']; ADODataSet5.Locate('n_id_nagruzka',i,[]); ADODataSet5.Delete; ADODataSet5.Active:=False; ADODataSet5.Active:=True; ADODataSet1.Active:=False; ADODataSet1.Active:=True;

end;

procedure TNagruzkaForm.Button5Click(Sender: TObject); begin

ADODataSet1.Active:=False; ADODataSet1.CommandText:='SELECT nagruzka.n_semestr,

discipline.d_nazvanie, prepodavateli.pr_FIO, tarify.t_tarif, discipline.d_RZ, discipline.d_ekz, discipline.d_hour_lektsii, discipline.d_hour_lab, discipline.d_hour_practice,'#13#10 +

' nagruzka.n_oplata, nagruzka.n_id_nagruzka, gruppy.gr_chisl_stud, PrepodDiscipline.prepDisc_id, gruppy.gr_nazvanie, nagruzka.n_prepDisc, nagruzka.n_gruppa'#13#10 +

'FROM tarify INNER JOIN ((prepodavateli INNER JOIN (discipline INNER JOIN PrepodDiscipline ON discipline.d_id_discipline = PrepodDiscipline.prepDisc_disc) ON prepodavateli.pr_id_prepoda = PrepodDiscipline.prepDisc_prep) INNER JOIN'#13#10 +

' (gruppy INNER JOIN nagruzka ON gruppy.gr_id_gruppy = nagruzka.n_gruppa) ON PrepodDiscipline.prepDisc_id = nagruzka.n_prepDisc) ON tarify.t_id_tarifa = prepodavateli.pr_dolzhnost';

ADODataSet1.Active:=True;

ADODataSet2.Active:=False; ADODataSet2.CommandText:='SELECT * FROM

prepodDiscipline';

ADODataSet2.Active:=True;

ADODataSet4.Active:=False; ADODataSet4.CommandText:='SELECT * FROM gruppy'; ADODataSet4.Active:=True;

end;

procedure TNagruzkaForm.Edit4Change(Sender: TObject); Var S:String;

begin ADODataSet1.Active:=False;

if ComboBox1.ItemIndex=-1 then ComboBox1.ItemIndex:=0;

// Сохранение имени поля DBGrid1 в переменную S, по индексу выбранной записи в ComboBox1

S:=DBGrid1.Columns.Items[ComboBox1.ItemIndex].FieldName; ADODataSet1.CommandText:='SELECT nagruzka.n_semestr,

discipline.d_nazvanie, prepodavateli.pr_FIO, tarify.t_tarif, discipline.d_RZ, discipline.d_ekz, discipline.d_hour_lektsii, discipline.d_hour_lab, discipline.d_hour_practice,'#13#10 +

43

' nagruzka.n_oplata, nagruzka.n_id_nagruzka, gruppy.gr_chisl_stud, PrepodDiscipline.prepDisc_id, gruppy.gr_nazvanie, nagruzka.n_prepDisc, nagruzka.n_gruppa'#13#10 +

'FROM tarify INNER JOIN ((prepodavateli INNER JOIN (discipline INNER JOIN PrepodDiscipline ON discipline.d_id_discipline = PrepodDiscipline.prepDisc_disc) ON prepodavateli.pr_id_prepoda = PrepodDiscipline.prepDisc_prep) INNER JOIN'#13#10 +

' (gruppy INNER JOIN nagruzka ON gruppy.gr_id_gruppy = nagruzka.n_gruppa) ON PrepodDiscipline.prepDisc_id = nagruzka.n_prepDisc) ON tarify.t_id_tarifa = prepodavateli.pr_dolzhnost WHERE '+s+' LIKE "'+Edit4.text+'%"';

ADODataSet1.Active:=True;

end;

procedure TNagruzkaForm.DBGrid1TitleClick(Column: TColumn);

begin

if ADODataSet1.Sort=Column.FieldName+' ASC' then ADODataSet1.Sort:=Column.FieldName+' DESC' else

ADODataSet1.Sort:=Column.FieldName+' ASC'; end;

end.

unit NagruzkaOtchetUnit;

interface

uses

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

Dialogs, DB, ADODB, StdCtrls, Grids, DBGrids, MyWord, DBTables, ExtCtrls;

type

TNagruzkaOtchetForm = class(TForm) Button1: TButton;

Button2: TButton;

Button3: TButton; Table1: TTable;

PrinterSetupDialog1: TPrinterSetupDialog; Panel2: TPanel;

Label4: TLabel;

Label5: TLabel; ComboBox1: TComboBox; Edit4: TEdit;

ADODataSet2: TADODataSet; DBGrid2: TDBGrid; DataSource2: TDataSource; DBGrid1: TDBGrid; ADODataSet1: TADODataSet; DataSource1: TDataSource;

procedure FormActivate(Sender: TObject); procedure ComboBox1Change(Sender: TObject); procedure Edit4Change(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject);

private

{Private declarations } public

{Public declarations } end;

var

NagruzkaOtchetForm: TNagruzkaOtchetForm;

implementation

{$R *.dfm}

procedure TNagruzkaOtchetForm.FormActivate(Sender: TObject); var i: integer;

begin

ADODataSet2.Active:=False; ADODataSet2.CommandText:='select * from prepodavateli'; ADODataSet2.Active:=True;

//*for i:=0 to DBGrid2.Columns.Count-1 do //ComboBox1.Items.Add(DBGrid2.Fields[i]. //dbgrid2.Fields[i].AsString *//

ADODataSet2.First;

While not ADODataSet2.eof do begin

ComboBox1.Items.Add(ADODataSet2.FieldByName('pr_FIO').As String);

ADODataSet2.Next;

end;

ADODataSet1.Active:=False; ADODataSet1.CommandText:='SELECT nagruzka.n_semestr, discipline.d_nazvanie, prepodavateli.pr_FIO, tarify.t_tarif, discipline.d_RZ, discipline.d_ekz, discipline.d_hour_lektsii, discipline.d_hour_lab, discipline.d_hour_practice,'#13#10 + 'nagruzka.n_oplata, nagruzka.n_id_nagruzka, gruppy.gr_chisl_stud'#13#10 +

'FROM tarify INNER JOIN ((prepodavateli INNER JOIN (discipline INNER JOIN PrepodDiscipline ON discipline.d_id_discipline = PrepodDiscipline.prepDisc_disc) ON prepodavateli.pr_id_prepoda = PrepodDiscipline.prepDisc_prep)'#13#10 +

'INNER JOIN (gruppy INNER JOIN nagruzka ON gruppy.gr_id_gruppy = nagruzka.n_gruppa)'#13#10 +

'ON PrepodDiscipline.prepDisc_id = nagruzka.n_prepDisc) ON tarify.t_id_tarifa = prepodavateli.pr_dolzhnost';

ADODataSet1.Active:=True;

end;

procedure TNagruzkaOtchetForm.ComboBox1Change(Sender: TObject);

Var S:String; begin

ADODataSet1.Active:=False;

if ComboBox1.ItemIndex=-1 then ComboBox1.ItemIndex:=0;

// Сохранение имени поля DBGrid1 в переменную S, по индексу выбранной записи в ComboBox1

S:=Combobox1.Items[ComboBox1.ItemIndex]; ADODataSet1.CommandText:='SELECT nagruzka.n_semestr,

discipline.d_nazvanie, prepodavateli.pr_FIO, tarify.t_tarif, discipline.d_RZ, discipline.d_ekz, discipline.d_hour_lektsii, discipline.d_hour_lab, discipline.d_hour_practice,'#13#10 + 'nagruzka.n_oplata, nagruzka.n_id_nagruzka, gruppy.gr_chisl_stud'#13#10 +

'FROM tarify INNER JOIN ((prepodavateli INNER JOIN (discipline INNER JOIN PrepodDiscipline ON discipline.d_id_discipline = PrepodDiscipline.prepDisc_disc) ON prepodavateli.pr_id_prepoda = PrepodDiscipline.prepDisc_prep)'#13#10 +

'INNER JOIN (gruppy INNER JOIN nagruzka ON gruppy.gr_id_gruppy = nagruzka.n_gruppa)'#13#10 +

'ON PrepodDiscipline.prepDisc_id = nagruzka.n_prepDisc) ON tarify.t_id_tarifa = prepodavateli.pr_dolzhnost WHERE

(((prepodavateli.pr_FIO) like "'+s+'"));'; ADODataSet1.Active:=True;

end;

procedure TNagruzkaOtchetForm.Edit4Change(Sender: TObject); Var S:String;

begin ADODataSet1.Active:=False;

if ComboBox1.ItemIndex=-1 then ComboBox1.ItemIndex:=0;

// Сохранение имени поля DBGrid1 в переменную S, по индексу выбранной записи в ComboBox1

S:=Combobox1.Items[ComboBox1.ItemIndex]; ADODataSet1.CommandText:='SELECT nagruzka.n_semestr,

discipline.d_nazvanie, prepodavateli.pr_FIO, tarify.t_tarif, discipline.d_RZ, discipline.d_ekz, discipline.d_hour_lektsii, discipline.d_hour_lab, discipline.d_hour_practice,'#13#10 +

44

'nagruzka.n_oplata, nagruzka.n_id_nagruzka, gruppy.gr_chisl_stud'#13#10 +

'FROM tarify INNER JOIN ((prepodavateli INNER JOIN (discipline INNER JOIN PrepodDiscipline ON discipline.d_id_discipline = PrepodDiscipline.prepDisc_disc) ON prepodavateli.pr_id_prepoda = PrepodDiscipline.prepDisc_prep)'#13#10 +

'INNER JOIN (gruppy INNER JOIN nagruzka ON gruppy.gr_id_gruppy = nagruzka.n_gruppa)'#13#10 +

'ON PrepodDiscipline.prepDisc_id = nagruzka.n_prepDisc) ON tarify.t_id_tarifa = prepodavateli.pr_dolzhnost WHERE

(((nagruzka.n_semestr) like "'+Edit4.text+'") AND ((prepodavateli.pr_FIO)="'+s+'"))';

ADODataSet1.Active:=True;

end;

procedure TNagruzkaOtchetForm.Button1Click(Sender: TObject); begin

Edit4.clear;

ADODataSet1.Active:=False; ADODataSet1.CommandText:='SELECT nagruzka.n_semestr,

discipline.d_nazvanie, prepodavateli.pr_FIO, tarify.t_tarif, discipline.d_RZ, discipline.d_ekz, discipline.d_hour_lektsii, discipline.d_hour_lab, discipline.d_hour_practice,'#13#10 + 'nagruzka.n_oplata, nagruzka.n_id_nagruzka, gruppy.gr_chisl_stud'#13#10 +

'FROM tarify INNER JOIN ((prepodavateli INNER JOIN (discipline INNER JOIN PrepodDiscipline ON discipline.d_id_discipline = PrepodDiscipline.prepDisc_disc) ON prepodavateli.pr_id_prepoda = PrepodDiscipline.prepDisc_prep)'#13#10 +

'INNER JOIN (gruppy INNER JOIN nagruzka ON gruppy.gr_id_gruppy = nagruzka.n_gruppa)'#13#10 +

'ON PrepodDiscipline.prepDisc_id = nagruzka.n_prepDisc) ON tarify.t_id_tarifa = prepodavateli.pr_dolzhnost';

ADODataSet1.Active:=True; ComboBox1.ItemIndex:=-1;

end;

procedure TNagruzkaOtchetForm.Button2Click(Sender: TObject); var table:integer;

begin

if CreateWord then begin

VisibleWord(false);

AddDoc;

Table1.DisableControls;

WordTableAddFromDBGrid(DBGrid1,true,table);

VisibleWord(true);

Table1.EnableControls;

end;

end;

procedure TNagruzkaOtchetForm.Button3Click(Sender: TObject); begin

PrinterSetupDialog1.Execute;

end;

end.

unit PrepDiscUnit;

interface

uses

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

Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls, DBCtrls, Mask, ExtCtrls;

type

TPrepDiscForm = class(TForm) Panel1: TPanel;

Label2: TLabel;

Label1: TLabel;

Label5: TLabel;

Label3: TLabel;

DBLookupComboBox1: TDBLookupComboBox; Button4: TButton;

Button1: TButton;

Button2: TButton;

Button3: TButton;

DBEdit1: TDBEdit;

Button5: TButton; DBGrid1: TDBGrid;

ADODataSet1: TADODataSet; DataSource1: TDataSource;

DBLookupComboBox2: TDBLookupComboBox; ADODataSet2: TADODataSet;

DataSource2: TDataSource; ADODataSet3: TADODataSet; DataSource3: TDataSource; ADODataSet4: TADODataSet;

procedure FormActivate(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button2Click(Sender: TObject);

private

{Private declarations } public

{Public declarations } end;

var

PrepDiscForm: TPrepDiscForm;

implementation

{$R *.dfm}

procedure TPrepDiscForm.FormActivate(Sender: TObject); begin

ADODataSet1.Active:=False;

ADODataSet1.CommandText:='SELECT PrepodDiscipline.prepDisc_id, prepodavateli.pr_FIO, discipline.d_nazvanie, PrepodDiscipline.prepDisc_prep, PrepodDiscipline.prepDisc_disc'#13#10 +

'FROM discipline INNER JOIN (prepodavateli INNER JOIN PrepodDiscipline ON prepodavateli.pr_id_prepoda = PrepodDiscipline.prepDisc_prep) ON discipline.d_id_discipline = PrepodDiscipline.prepDisc_disc';

ADODataSet1.Active:=True;

ADODataSet2.Active:=False; ADODataSet2.CommandText:='SELECT * FROM

prepodavateli';

ADODataSet2.Active:=True;

ADODataSet3.Active:=False; ADODataSet3.CommandText:='SELECT * FROM discipline'; ADODataSet3.Active:=True;

end;

procedure TPrepDiscForm.Button4Click(Sender: TObject); begin

//ins:=true;

ADODataSet1.Insert;

end;

procedure TPrepDiscForm.Button1Click(Sender: TObject); begin

//ins:=false;

ADODataSet4.Active:=false; ADODataSet4.CommandText:='select * from prepodDiscipline

where (prepDisc_prep like "'+inttostr(DBLookupComboBox1.KeyValue)+'" AND prepDisc_disc like "'+inttostr(DBLookupComboBox2.KeyValue)+'")';

ADODataSet4.Active:=true;

if (DBLookupComboBox1.KeyValue=null) or (DBLookupComboBox2.KeyValue=null) then

begin

MessageDlg('Заполните все поля',mtWarning, [mbOk], 0);

45

end else

if ADODataSet4.RecordCount>0 then begin

MessageDlg('Такая запись уже есть',mtWarning, [mbOk], 0);

ADODataSet1.Cancel; end

else begin

ADODataSet1['prepDisc_prep']:=inttostr(DBLookupComboBox1.

KeyValue);

ADODataSet1['prepDisc_disc']:=inttostr(DBLookupComboBox2. KeyValue);

ADODataSet1.Post;

ADODataSet1.Active:=False;

ADODataSet1.Active:=True;

end;

end;

procedure TPrepDiscForm.Button5Click(Sender: TObject); begin

ADODataSet1.Active:=False;

ADODataSet1.CommandText:='SELECT PrepodDiscipline.prepDisc_id, prepodavateli.pr_FIO, discipline.d_nazvanie, PrepodDiscipline.prepDisc_prep, PrepodDiscipline.prepDisc_disc'#13#10 +

'FROM discipline INNER JOIN (prepodavateli INNER JOIN PrepodDiscipline ON prepodavateli.pr_id_prepoda = PrepodDiscipline.prepDisc_prep) ON discipline.d_id_discipline = PrepodDiscipline.prepDisc_disc';

ADODataSet1.Active:=True;

ADODataSet2.Active:=False; ADODataSet2.CommandText:='SELECT * FROM

prepodavateli';

ADODataSet2.Active:=True;

ADODataSet3.Active:=False; ADODataSet3.CommandText:='SELECT * FROM discipline'; ADODataSet3.Active:=True;

end;

procedure TPrepDiscForm.Button2Click(Sender: TObject); var i:Integer;

begin ADODataSet4.Active:=False;

ADODataSet4.CommandText:='SELECT * FROM prepodDiscipline';

ADODataSet4.Active:=True;

ADODataSet1.Active:=True; i:=ADODataSet1.FieldValues['prepDisc_id']; ADODataSet4.Locate('prepDisc_id',i,[]); ADODataSet4.Delete; ADODataSet4.Active:=False; ADODataSet4.Active:=True; ADODataSet1.Active:=False; ADODataSet1.Active:=True;

end;

end.

unit PrepodavateliUnit;

interface

uses

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

Dialogs, ExtCtrls, DB, ADODB, DBCtrls, StdCtrls, Mask, Grids, DBGrids;

type

TPrepodavateliForm = class(TForm) Label12: TLabel;

Panel1: TPanel;

Label2: TLabel;

Label1: TLabel;

Label5: TLabel;

Label3: TLabel; DBEdit2: TDBEdit;

DBLookupComboBox1: TDBLookupComboBox; Button4: TButton;

Button1: TButton;

Button2: TButton;

Button3: TButton;

DBEdit1: TDBEdit;

Button5: TButton;

DBEdit6: TDBEdit; DBNavigator1: TDBNavigator; ADODataSet1: TADODataSet; DataSource1: TDataSource; DataSource2: TDataSource; ADODataSet2: TADODataSet; Timer1: TTimer; ADODataSet4: TADODataSet; ADODataSet3: TADODataSet; DBGrid1: TDBGrid;

Panel2: TPanel;

Label7: TLabel;

Label8: TLabel; ComboBox1: TComboBox; Edit4: TEdit;

procedure FormActivate(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Edit4Change(Sender: TObject); procedure DBGrid1TitleClick(Column: TColumn); procedure DBEdit1Change(Sender: TObject); procedure DBEdit2Enter(Sender: TObject); procedure DBEdit2Exit(Sender: TObject);

procedure DBLookupComboBox1Enter(Sender: TObject); procedure DBLookupComboBox1Exit(Sender: TObject); procedure DBGrid1CellClick(Column: TColumn);

procedure DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);

procedure DBGrid1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

private

{ Private declarations } procedure Refresh; procedure isEdit; procedure notEdit;

function CheckEdit:boolean; public

{ Public declarations } end;

var

PrepodavateliForm: TPrepodavateliForm;

implementation

uses MainUnit, DM;

{$R *.dfm} var ins:boolean;

procedure TPrepodavateliForm.Refresh; var i:integer;

begin ADODataSet1.Active:=False; ADODataSet1.Active:=True;

end;

procedure TPrepodavateliForm.isEdit; begin

if DBEdit1.Text<>'' then begin

46

DMForm.CheckEditQuery.SQL.Text:='UPDATE prepodavateli SET prepodavateli.EDIT = True WHERE prepodavateli.pr_id_prepoda='+DBEdit1.Text+';'; DMForm.CheckEditQuery.ExecSQL; DMForm.CheckEditQuery.SQL.Text:='select * from prepodavateli WHERE prepodavateli.pr_id_prepoda='+DBEdit1.Text+';'; DMForm.CheckEditQuery.Open;

end;

end;

procedure TPrepodavateliForm.notEdit; begin

if DBEdit1.Text<>'' then begin

DMForm.CheckEditQuery.SQL.Text:='UPDATE prepodavateli SET prepodavateli.EDIT = False WHERE prepodavateli.pr_id_prepoda='+DBEdit1.Text+';'; DMForm.CheckEditQuery.ExecSQL; DMForm.CheckEditQuery.SQL.Text:='select * from prepodavateli WHERE prepodavateli.pr_id_prepoda='+DBEdit1.Text+';'; DMForm.CheckEditQuery.Open;

end;

end;

function TPrepodavateliForm.checkEdit:boolean; begin

checkEdit:=false;

if DBEdit1.Text<>'' then DMForm.CheckEditQuery.SQL.Text:='select * from prepodavateli WHERE prepodavateli.pr_id_prepoda='+DBEdit1.Text+';';

DMForm.CheckEditQuery.Open; if DBEdit6.Text<>'' then

begin

checkEdit:= strtobool(DBEdit6.Text); Label12.Visible:= strtobool(DBEdit6.Text); DBEdit2.Enabled:=not strtobool(DBEdit6.Text); DBLookupComboBox1.Enabled:=not

strtobool(DBEdit6.Text);

Button1.Enabled:=not strtobool(DBEdit6.Text); Button2.Enabled:=not strtobool(DBEdit6.Text); Button3.Enabled:=not strtobool(DBEdit6.Text); Button4.Enabled:=not strtobool(DBEdit6.Text); Button5.Enabled:=not strtobool(DBEdit6.Text); end;

end;

procedure TPrepodavateliForm.FormActivate(Sender: TObject); var i:integer;

begin ADODataSet1.Active:=False;

ADODataSet1.CommandText:='SELECT tarify.t_id_tarifa, tarify.t_dolzhnost, tarify.t_tarif, prepodavateli.pr_id_prepoda, prepodavateli.pr_FIO, prepodavateli.pr_dolzhnost, prepodavateli.EDIT'#13#10 +

'FROM tarify INNER JOIN prepodavateli ON tarify.t_id_tarifa = prepodavateli.pr_dolzhnost';

ADODataSet1.Active:=True;

ADODataSet2.Active:=False; ADODataSet2.CommandText:='SELECT * FROM tarify'; ADODataSet2.Active:=True;

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

ComboBox1.Items.Add(DBGrid1.Columns.Items[i].Title.Caption)

;

end;

procedure TPrepodavateliForm.Button4Click(Sender: TObject); begin

ins:=true;

if DBEdit2.Enabled then DBEdit2.SetFocus; ADODataSet1.Insert;

end;

procedure TPrepodavateliForm.Button2Click(Sender: TObject);

var i:Integer; begin

ADODataSet3.Active:=True;

ADODataSet1.Active:=True; i:=ADODataSet1.FieldValues['pr_id_prepoda']; ADODataSet3.Locate('pr_id_prepoda',i,[]); ADODataSet3.Delete; ADODataSet3.Active:=False; ADODataSet3.Active:=True; ADODataSet1.Active:=False; ADODataSet1.Active:=True;

end;

procedure TPrepodavateliForm.Button1Click(Sender: TObject); begin

ins:=false;

ADODataSet4.Active:=false; ADODataSet4.CommandText:='select * from prepodavateli

where (pr_FIO like "'+DBEdit2.Text+'")'; ADODataSet4.Active:=true;

if (DBEdit2.Text='') or (DBLookupComboBox1.KeyValue=null) then

begin

MessageDlg('Заполните все поля',mtWarning, [mbOk], 0); end

else

if ADODataSet4.RecordCount>0 then begin

MessageDlg('Такой преподаватель уже есть',mtWarning,

[mbOk], 0); ADODataSet1.Cancel; end

else begin

ADODataSet1['pr_FIO']:=DBEdit2.Text;

ADODataSet1['pr_dolzhnost']:=inttostr(DBLookupComboBox1.K eyValue);

ADODataSet1.Post;

ADODataSet1.Active:=False; ADODataSet1.CommandText:='SELECT tarify.t_id_tarifa,

tarify.t_dolzhnost, tarify.t_tarif, prepodavateli.pr_id_prepoda, prepodavateli.pr_FIO, prepodavateli.pr_dolzhnost, prepodavateli.EDIT'#13#10 +

'FROM tarify INNER JOIN prepodavateli ON tarify.t_id_tarifa = prepodavateli.pr_dolzhnost';

ADODataSet1.Active:=True;

ADODataSet3.Active:=False; ADODataSet3.CommandText:='SELECT * FROM

prepodavateli';

ADODataSet3.Active:=True; end

end;

procedure TPrepodavateliForm.Button5Click(Sender: TObject); begin

ADODataSet1.Active:=False; ADODataSet1.CommandText:='SELECT tarify.t_id_tarifa,

tarify.t_dolzhnost, tarify.t_tarif, prepodavateli.pr_id_prepoda, prepodavateli.pr_FIO, prepodavateli.pr_dolzhnost, prepodavateli.EDIT'#13#10 +

'FROM tarify INNER JOIN prepodavateli ON tarify.t_id_tarifa = prepodavateli.pr_dolzhnost';

ADODataSet1.Active:=True;

ADODataSet2.Active:=False; ADODataSet2.CommandText:='SELECT * FROM tarify'; ADODataSet2.Active:=True;

end;

procedure TPrepodavateliForm.Button3Click(Sender: TObject); begin

ADODataSet4.Active:=false;

47

ADODataSet4.CommandText:='select * from prepodavateli

begin

where (pr_FIO like "'+DBEdit2.Text+'")';

//Timer1.Enabled:=true;

ADODataSet4.Active:=true;

notEdit;

 

end;

if (DBEdit2.Text='') or

 

(DBLookupComboBox1.KeyValue=null) then

procedure

begin

TPrepodavateliForm.DBLookupComboBox1Enter(Sender:

MessageDlg('Заполните все поля',mtWarning, [mbOk], 0);

TObject);

end

begin

else

Timer1.Enabled:=false;

if ADODataSet4.RecordCount>0 then

if (DBEdit1.Text<>'')and(not ins) then

begin

if not checkEdit then isEdit;

MessageDlg('Такой преподаватель уже есть',mtWarning,

end;

[mbOk], 0);

 

ADODataSet1.Cancel;

procedure

end

TPrepodavateliForm.DBLookupComboBox1Exit(Sender:

else

TObject);

begin

begin

ADODataSet1.Edit;

Timer1.Enabled:=true;

ADODataSet1.Post;

notEdit;

ADODataSet1.Active:=False;

end;

ADODataSet1.Active:=True;

 

end;

procedure TPrepodavateliForm.DBGrid1CellClick(Column:

end;

TColumn);

 

var i:integer;

procedure TPrepodavateliForm.Edit4Change(Sender: TObject);

begin

Var S:String;

i:=ADODataSet1.FieldValues['pr_id_prepoda'];

begin

ADODataSet1.Active:=False;

ADODataSet1.Active:=False;

ADODataSet1.Active:=True;

if ComboBox1.ItemIndex=-1 then ComboBox1.ItemIndex:=0;

ADODataSet1.Locate('pr_id_prepoda',i,[]);

// Сохранение имени поля DBGrid1 в переменную S, по

end;

индексу выбранной записи в ComboBox1

 

S:=DBGrid1.Columns.Items[ComboBox1.ItemIndex].FieldName;

procedure TPrepodavateliForm.DBGrid1KeyDown(Sender:

ADODataSet1.CommandText:='SELECT tarify.t_id_tarifa,

TObject; var Key: Word;

tarify.t_dolzhnost, tarify.t_tarif, prepodavateli.pr_id_prepoda,

Shift: TShiftState);

prepodavateli.pr_FIO, prepodavateli.pr_dolzhnost FROM tarify

var i:integer;

INNER JOIN prepodavateli ON tarify.t_id_tarifa =

begin

prepodavateli.pr_dolzhnost where '+s+' LIKE "'+Edit4.text+'%"';

i:=ADODataSet1.FieldValues['pr_id_prepoda'];

ADODataSet1.Active:=True;

ADODataSet1.Active:=False;

end;

ADODataSet1.Active:=True;

 

ADODataSet1.Locate('pr_id_prepoda',i,[]);

procedure TPrepodavateliForm.DBGrid1TitleClick(Column:

end;

TColumn);

 

begin

procedure TPrepodavateliForm.DBGrid1KeyUp(Sender: TObject;

if ADODataSet1.Sort=Column.FieldName+' ASC' then

var Key: Word;

ADODataSet1.Sort:=Column.FieldName+' DESC'

Shift: TShiftState);

else

var i:integer;

ADODataSet1.Sort:=Column.FieldName+' ASC';

begin

end;

i:=ADODataSet1.FieldValues['pr_id_prepoda'];

 

ADODataSet1.Active:=False;

procedure TPrepodavateliForm.DBEdit1Change(Sender: TObject);

ADODataSet1.Active:=True;

begin

ADODataSet1.Locate('pr_id_prepoda',i,[]);

if (DBEdit1.Text<>'')and(not ins) then checkEdit;

end;

end;

 

 

procedure TPrepodavateliForm.FormClose(Sender: TObject;

procedure TPrepodavateliForm.DBEdit2Enter(Sender: TObject);

var Action: TCloseAction);

begin

begin

Timer1.Enabled:=false;

notEdit;

if (DBEdit1.Text<>'')and(not ins) then

Timer1.Enabled:=false;

if not checkEdit then isEdit;

end;

end;

 

 

end.

procedure TPrepodavateliForm.DBEdit2Exit(Sender: TObject);

 

48

Соседние файлы в папке Курсовые работы