CheckBox5->Checked = Table1->Fields->FieldByName("isgpdgod")->AsInteger ? true:false;
CheckBox6->Checked = Table1->Fields->FieldByName("iskruzok")->AsInteger ? true:false;
CheckBox7->Checked = Table1->Fields->FieldByName("isklasruk")->AsInteger ? true:false;
CheckBox8->Checked = Table1->Fields->FieldByName("iskabinet")->AsInteger ? true:false;
CheckBox9->Checked = Table1->Fields->FieldByName("isproverkatet")->AsInteger ? true:false;
CheckBox10->Checked = Table1->Fields->FieldByName("ispsiholog")->AsInteger ? true:false;
CheckBox11->Checked = Table1->Fields->FieldByName("isorganizator")->AsInteger ? true:false;
CheckBox23->Checked = Table1->Fields->FieldByName("ismuzskola")->AsInteger ? true:false;
//utrimannya
CheckBox12->Checked = Table1->Fields->FieldByName("isprofsoyuz")->AsInteger ? true:false;
CheckBox13->Checked = Table1->Fields->FieldByName("islgotnik")->AsInteger ? true:false;
CheckBox14->Checked = Table1->Fields->FieldByName("ismnogodetmama")->AsInteger ? true:false;
CheckBox15->Checked = Table1->Fields->FieldByName("isodinokmama")->AsInteger ? true:false;
CheckBox16->Checked = Table1->Fields->FieldByName("isvdova")->AsInteger ? true:false;
CheckBox17->Checked = Table1->Fields->FieldByName("isvdovec")->AsInteger ? true:false;
CheckBox18->Checked = Table1->Fields->FieldByName("isdetiinvalidi")->AsInteger ? true:false;
CheckBox21->Checked = Table1->Fields->FieldByName("ispens")->AsInteger ? true:false;
//sotrudniki
CheckBox19->Checked = Table1->Fields->FieldByName("issotrudnik")->AsInteger ? true:false;
RadioButton1->Checked = Table1->Fields->FieldByName("isadminsotr")->AsInteger ? true:false;
//derzsluzbovci
CheckBox20->Checked = Table1->Fields->FieldByName("isderzsluzbovec")->AsInteger ? true:false;
}
//---------------------------------------------------------------------------
void __fastcall Talgo::FormClose(TObject *Sender, TCloseAction &Action)
{
activeflag=0;
Table1->Close();
Table2->Close();
}
//---------------------------------------------------------------------------
void __fastcall Talgo::wwDBLookupCombo2Change(TObject *Sender)
{
if(activeflag){
Query2->Close();
Query2->SQL->Clear();
Query2->SQL->Add(
"select constanta from z_nastr_vch_kateg where id="+wwDBLookupCombo2->Text
);
Query2->Open();
}
}
//---------------------------------------------------------------------------
void __fastcall Talgo::wwDBLookupCombo3Change(TObject *Sender)
{
if(activeflag){
Query3->Close();
Query3->SQL->Clear();
Query3->SQL->Add(
"select constanta from z_nastr_vch_perevirkazosh where id="+wwDBLookupCombo3->Text
);
Query3->Open();
}
}
//---------------------------------------------------------------------------
void Talgo::knopka()
{
AnsiString x="";
vbazu();
Query8->SQL->Clear();
Query8->SQL->Add(" delete from z_algo_result ");
Query8->ExecSQL();
Query8->SQL->Clear();
Query8->SQL->Add(" insert into z_algo_result values(1,0,0,0,0)");
Query8->ExecSQL();
//vchiteli
Query4->Close();
Query4->Open();
char buf[30];
sprintf(buf,"%f",Query4->Fields->FieldByName("res")->AsFloat);
Query8->SQL->Clear();
Query8->SQL->Add(
x+" update z_algo_result set vchzarp="+buf
);
Query8->ExecSQL();
//sotrudnik inshi
if(Table1->Fields->FieldByName("issotrudnik")->AsInteger && RadioButton2->Checked){
sprintf(buf,"%f", DBText26->Caption.ToDouble() );
Query8->SQL->Clear();
Query8->SQL->Add(
x+" update z_algo_result set spivrobzarp = "+buf
);
Query8->ExecSQL();
}
//sotrudnik admin
if(Table1->Fields->FieldByName("issotrudnik")->AsInteger && RadioButton1->Checked){
sprintf(buf,"%f",Table1->Fields->FieldByName("admsotrstavka")->AsFloat * (1+DBText32->Caption.ToDouble()/100));
Query8->SQL->Clear();
Query8->SQL->Add(
x+" update z_algo_result set spivrobzarp = "+buf
);
Query8->ExecSQL();
}
//derzsluzbovec
if(Table1->Fields->FieldByName("isderzsluzbovec")->AsInteger){
sprintf(buf,"%f",(DBText15->Caption.ToDouble()+DBText17->Caption.ToDouble())*(1+DBText19->Caption.ToDouble()/100+DBText21->Caption.ToDouble()/100+DBText29->Caption.ToDouble()/100));
Query8->SQL->Clear();
Query8->SQL->Add(
x+" update z_algo_result set derzsluzzarp = "+buf
);
Query8->ExecSQL();
}
//utrimano
if(wwDBLookupCombo6->Text.ToInt() == 1 ){
Query9->Close();
Query9->Open();
sprintf(buf,"%f",Query9->Fields->FieldByName("res")->AsFloat);
}
if(wwDBLookupCombo6->Text.ToInt() == 2 ){
Query16->Close();
Query16->Open();
sprintf(buf,"%f",Query16->Fields->FieldByName("res")->AsFloat);
}
Query8->SQL->Clear();
Query8->SQL->Add(
x+" update z_algo_result set utrim="+buf
);
Query8->ExecSQL();
Query10->Close();
Query10->Open();
}
void Talgo::vbazu(){
Table1->Refresh();
Table1->Edit();
// uchiteli
Table1->Fields->FieldByName("iskategoriya")->AsInteger = CheckBox3->Checked;
Table1->Fields->FieldByName("isnachskgod")->AsInteger = CheckBox2->Checked ? 1:0;
Table1->Fields->FieldByName("isstklasigod")->AsInteger = CheckBox4->Checked ? 1:0;
Table1->Fields->FieldByName("isgpdgod")->AsInteger = CheckBox5->Checked ? 1:0;
Table1->Fields->FieldByName("iskruzok")->AsInteger = CheckBox6->Checked ? 1:0;
Table1->Fields->FieldByName("isklasruk")->AsInteger = CheckBox7->Checked ? 1:0;
Table1->Fields->FieldByName("iskabinet")->AsInteger = CheckBox8->Checked ? 1:0;
Table1->Fields->FieldByName("isproverkatet")->AsInteger = CheckBox9->Checked ? 1:0;
Table1->Fields->FieldByName("ispsiholog")->AsInteger = CheckBox10->Checked ? 1:0;
Table1->Fields->FieldByName("isorganizator")->AsInteger = CheckBox11->Checked ? 1:0;
Table1->Fields->FieldByName("ismuzskola")->AsInteger = CheckBox23->Checked ? 1:0;
//sotr
Table1->Fields->FieldByName("isadminsotr")->AsInteger = RadioButton1->Checked ? 1:0;
// urtimannya
Table1->Fields->FieldByName("isprofsoyuz")->AsInteger=CheckBox12->Checked ? 1:0;
Table1->Fields->FieldByName("islgotnik")->AsInteger =CheckBox13->Checked ? 1:0;
Table1->Fields->FieldByName("ismnogodetmama")->AsInteger=CheckBox14->Checked ? 1:0;
Table1->Fields->FieldByName("isodinokmama")->AsInteger=CheckBox15->Checked ? 1:0;
Table1->Fields->FieldByName("isvdova")->AsInteger=CheckBox16->Checked ? 1:0;
Table1->Fields->FieldByName("isvdovec")->AsInteger=CheckBox17->Checked ? 1:0;
Table1->Fields->FieldByName("isdetiinvalidi")->AsInteger=CheckBox18->Checked ? 1:0;
Table1->Fields->FieldByName("ispens")->AsInteger=CheckBox21->Checked ? 1:0;
Table1->Post();
}
void __fastcall Talgo::CheckBox3Click(TObject *Sender)
{
vbazu();
}
//---------------------------------------------------------------------------
void __fastcall Talgo::wwDBLookupCombo4Change(TObject *Sender)
{
if(activeflag){
Query5->Close();
Query5->SQL->Clear();
Query5->SQL->Add(
"select constanta from z_nastr_vch_klasruk where id="+wwDBLookupCombo4->Text
);
Query5->Open();
}
}
//---------------------------------------------------------------------------
void __fastcall Talgo::wwDBLookupCombo5Change(TObject *Sender)
{
if(activeflag){
Query6->Close();
Query6->SQL->Clear();
Query6->SQL->Add(
"select constanta from z_nastr_vch_visluga where id="+wwDBLookupCombo5->Text
);
Query6->Open();
}
}
//---------------------------------------------------------------------------
void __fastcall Talgo::wwDBLookupCombo6Change(TObject *Sender)
{
if(activeflag){
Query7->Close();
Query7->SQL->Clear();
Query7->SQL->Add(
"select constanta from z_nastr_sposobpensfond where id="+wwDBLookupCombo6->Text
);
Query7->Open();
}
}
//---------------------------------------------------------------------------
void __fastcall Talgo::Button2Click(TObject *Sender)
{
vbazu();
}
//---------------------------------------------------------------------------
void __fastcall Talgo::wwDBLookupCombo7Change(TObject *Sender)
{
if(activeflag){
Query11->Close();
Query11->SQL->Clear();
Query11->SQL->Add(
"select constanta,znach from z_nastr_adm_posadi where id="+wwDBLookupCombo7->Text
);
Query11->Open();
}
}
//---------------------------------------------------------------------------
void __fastcall Talgo::CheckBox19Click(TObject *Sender)
{
Table1->Edit();
if(CheckBox19->Checked){
Table1->Fields->FieldByName("issotrudnik")->AsInteger = 1;
GroupBox18->Visible=true;
}
else
{
Table1->Fields->FieldByName("issotrudnik")->AsInteger = 0;
GroupBox18->Visible=false;
}
Table1->Post();
}
//---------------------------------------------------------------------------
void __fastcall Talgo::wwDBLookupCombo8Change(TObject *Sender)
{
if(activeflag){
Query12->Close();
Query12->SQL->Clear();
Query12->SQL->Add(
"select constanta,znach from z_nastr_derzsluz_posada where id="+wwDBLookupCombo8->Text
);
Query12->Open();
}
}
//---------------------------------------------------------------------------
void __fastcall Talgo::wwDBLookupCombo9Change(TObject *Sender)
{
if(activeflag){
Query13->Close();
Query13->SQL->Clear();
Query13->SQL->Add(
"select constanta,znach from z_nastr_derzsluz_rang where id="+wwDBLookupCombo9->Text
);
Query13->Open();
}
}
//---------------------------------------------------------------------------
void __fastcall Talgo::CheckBox20Click(TObject *Sender)
{
Table1->Edit();
if(CheckBox20->Checked){
Table1->Fields->FieldByName("isderzsluzbovec")->AsInteger = 1;
GroupBox20->Visible=true;
}
else
{
Table1->Fields->FieldByName("isderzsluzbovec")->AsInteger = 0;
GroupBox20->Visible=false;
}
Table1->Post();
}
//---------------------------------------------------------------------------
void __fastcall Talgo::wwDBLookupCombo10Change(TObject *Sender)
{
if(activeflag){
Query14->Close();
Query14->SQL->Clear();
Query14->SQL->Add(
"select constanta,znach from z_nastr_derzsluz_intensiv where id="+wwDBLookupCombo10->Text
);
Query14->Open();
}
}
//---------------------------------------------------------------------------
void __fastcall Talgo::wwDBLookupCombo11Change(TObject *Sender)
{
if(activeflag){
Query15->Close();
Query15->SQL->Clear();
Query15->SQL->Add(
"select constanta,znach from z_nastr_derzsluz_premiya where id="+wwDBLookupCombo11->Text
);
Query15->Open();
}
}
//---------------------------------------------------------------------------
void __fastcall Talgo::wwDBLookupCombo13Change(TObject *Sender)
{
if(activeflag){
Query17->Close();
Query17->SQL->Clear();
Query17->SQL->Add(
"select constanta,znach from z_nastr_vch_visluga where id="+wwDBLookupCombo13->Text
);
Query17->Open();
}
}
//---------------------------------------------------------------------------
void __fastcall Talgo::wwDBLookupCombo12Change(TObject *Sender)
{
if(activeflag){
Query18->Close();
Query18->SQL->Clear();
Query18->SQL->Add(
"select a.constanta, a.znach, greatest(a.znach,b.znach) as superznach from z_nastr_spivrob_posadi a,z_nastr_const_nar b where a.id="+wwDBLookupCombo12->Text+
" and b.id=1 "
);
Query18->Open();
}
}
//---------------------------------------------------------------------------
void __fastcall Talgo::wwDBLookupCombo14Change(TObject *Sender)
{
if(activeflag){
Query19->Close();
Query19->SQL->Clear();
Query19->SQL->Add(
"select constanta,znach from z_nastr_derzsluz_visluga where id="+wwDBLookupCombo14->Text
);
Query19->Open();
}
}
//---------------------------------------------------------------------------
void __fastcall Talgo::wwDBLookupCombo15Change(TObject *Sender)
{
if(activeflag){
Query20->Close();
Query20->SQL->Clear();
Query20->SQL->Add(
"select constanta,znach from z_nastr_likarnyani where id="+wwDBLookupCombo15->Text
);
Query20->Open();
}
}
//---------------------------------------------------------------------------
Робота з програмою
Головне вікно управління персоналом
Вікно введення та редагування персональних даних
Всі листинги а також приклади роботи програми знаходяться на дискеті
Висновки
Основні ідеї сучасної інформаційної технології базуються на концепції, відповідно до якої дані повинні бути організовані в бази даних з метою адекватного відображення реального миру, що змінюється, і задоволення інформаційних потреб користувачів. Ці бази даних створюються й функціонують під керуванням спеціальних програмних комплексів, називаних системами керування базами даних (СУБД).
Збільшення обсягу й структурної складності збережених даних, розширення кола користувачів інформаційних систем привели до широкого поширення найбільш зручних і порівняно простих для розуміння реляційних (табличних) СУБД. Для забезпечення одночасного доступу до даних безлічі користувачів, нерідко розташованих досить далеко друг від друга й від місця зберігання баз даних, створені мережні версії СУБД. У них тим або іншим шляхом вирішуються специфічні проблеми паралельних процесів, цілісності (правильності) і безпеки даних, а також санкціонування доступу.
Література
1. Дейт К. Руководство по реляционной СУБД DB2. - М.: Финансы и статистика, 1988. - 320 с.
2. Кириллов В.В. Основы проектирования реляционных баз данных. Учебное пособие. - СПб.: ИТМО, 1994. - 90 с.
3. Мейер М. Теория реляционных баз данных. -М.: Мир, 1987. - 608 с.
4. Ульман Дж. Базы данных на Паскале. -М.: Машиностроение, 1990. - 386 с.