Материал: Автоматизация учета сдельной оплаты труда в ОАО "Научно-исследовательский институт технологии, контроля и диагностики железнодорожного транспорта"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
115
AS [Средняязп] FROM [Работники] AS R, [Отделы] AS O, [Должности] AS D
WHERE O.id = R.код_отдела AND D.id = R.код_должности");
ADOQuery1->ExecSQL();
ADOQuery1->Close();
ADOQuery1->Active=true;
}
}
//---------------------------------------------------------------------------
void __fastcallTForm_rabotniki::DBGrid1CellClick(TColumn *Column)
{
Edit_fio->Text = ADOQuery1->FieldByName("ФИО")->AsString;
for (inti=0; i<ComboBox_otd->Items->Count; i++)
if (ComboBox_otd->Items->Strings[i] == ADOQuery1-
>FieldByName("Отдел")->AsString){ ComboBox_otd->ItemIndex = i; break; }
for (inti=0; i<ComboBox_dol->Items->Count; i++)
if (ComboBox_dol->Items->Strings[i] == ADOQuery1-
>FieldByName("Должность")->AsString){ ComboBox_dol->ItemIndex = i; break; }
}
//---------------------------------------------------------------------------
void __fastcallTForm_rabotniki::ButtonDeleteClick(TObject *Sender)
{
AnsiString id = ADOQuery1->FieldByName("id")->AsString;
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("DELETE FROM [Работники] WHERE id =
"+id);
inti = ADOQuery1->ExecSQL();
if (i) MessageDlg("Записьуспешноудалена", mtWarning,
TMsgDlgButtons()<<mbOK,0);
116
elseMessageDlg("Указаннойзаписинесуществует", mtError,
TMsgDlgButtons()<<mbOK,0);
ADOQuery1->Close();
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT R.id AS id, R.ФИО AS ФИО,
O.наименование AS Отдел, D.наименование AS Должность, средний_заработок
AS [Средняязп] FROM [Работники] AS R, [Отделы] AS O, [Должности] AS D
WHERE O.id = R.код_отдела AND D.id = R.код_должности");
ADOQuery1->ExecSQL();
ADOQuery1->Close();
ADOQuery1->Active=true;
}
//---------------------------------------------------------------------------
void __fastcallTForm_rabotniki::ButtonSearchClick(TObject *Sender)
{
if (CheckBox_fio->Checked || CheckBox_otd->Checked || CheckBox_dol-
>Checked)
{
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT R.id AS id, R.ФИО AS ФИО,
O.наименование AS Отдел, D.наименование AS Должность, средний_заработок
AS [Средняязп] FROM [Работники] AS R, [Отделы] AS O, [Должности] AS D
WHERE O.id = R.код_отдела AND D.id = R.код_должности");
if(CheckBox_otd->Checked) ADOQuery1->SQL->Add(" AND
O.наименование = \""+ComboBox_otd->Items->Strings[ComboBox_otd-
>ItemIndex]+"\"");
if(CheckBox_dol->Checked) ADOQuery1->SQL->Add(" AND
D.наименование = \""+ComboBox_dol->Items->Strings[ComboBox_dol-
>ItemIndex]+"\"");
117
if(CheckBox_fio->Checked) ADOQuery1->SQL->Add(" AND R.ФИО LIKE
\"%"+Edit_fio->Text+"%\"");
ADOQuery1->ExecSQL();
ADOQuery1->Close();
ADOQuery1->Active=true;
}
}
//---------------------------------------------------------------------------
118
ПРИЛОЖЕНИЕ 7
Листинг модуля «Табель учета работ»
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Tabel.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm_tabel *Form_tabel;
//---------------------------------------------------------------------------
__fastcallTForm_tabel::TForm_tabel(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcallTForm_tabel::FormShow(TObject *Sender)
{
ADOConnection1->ConnectionString =
"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source="+GetCurrentDir()+"\\ras4et_zp.mdb"+";Persist Security Info=False";
ADOTable1->Active = true;
ADOTable1->First();
ComboBox_otd->Items->Clear();
while(!ADOTable1->Eof){
ComboBox_otd->Items->Add(ADOTable1->FieldByName("наименование")-
>Value);
119
ADOTable1->Next();
}
ADOTable1->Active=false;
ComboBox_otd->ItemIndex = 0;
ADOTable2->Active = true;
ADOTable2->First();
ComboBox_dol->Items->Clear();
while(!ADOTable2->Eof){
ComboBox_dol->Items->Add(ADOTable2->FieldByName("наименование")-
>Value);
ADOTable2->Next();
}
ADOTable2->Active=false;
ComboBox_dol->ItemIndex = 0;
ADOTable3->Active = true;
ADOTable3->First();
ComboBox_oper->Items->Clear();
while(!ADOTable3->Eof){
ComboBox_oper->Items->Add(ADOTable3-
>FieldByName("наименование")->Value);
ADOTable3->Next();
}
ADOTable3->Active=false;
ComboBox_oper->ItemIndex = 0;
ADOQuery2->Close();
ADOQuery2->SQL->Clear();
Источник: https://baza.diplomsite.ru/previewfile/2463