?? tihuodan.cpp
字號:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "tihuodan.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
//定義數組保存數據
//用來保存從被搜索的出庫單中獲得貨品數量和貨品總額
int myNum[10];
float myMoney[10];
//定義保存所有選中出庫單的數量和總額
int TotalNum;
float TotalMoney;
//定義提貨單號
String BillNum;
Tfrm_tihuo *frm_tihuo;
//---------------------------------------------------------------------------
__fastcall Tfrm_tihuo::Tfrm_tihuo(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button7Click(TObject *Sender)
{
//保存數組的下標,和CheckListBox1中的次序保持一致
int myIndex=0;
if(Edit1->Text=="")
return;
String tempsql;
//根據查詢條件生成查詢語句
if(!CheckBox1->Checked )
{ tempsql="select * from 出庫單 where 貨品編號='" ;
tempsql=tempsql+Edit1->Text;
tempsql=tempsql+"' and 提貨單號 is null";
ShowMessage(tempsql);
}
else
tempsql="select * from 出庫單 where 貨品編號='" +
Edit1->Text + "' and 提貨單位='" + ComboBox1->Text +
"' and 提貨單號 is null";
qy_tihuo->Close() ;
qy_tihuo->SQL->Clear();
qy_tihuo->SQL->Add(tempsql) ;
qy_tihuo->Open() ;
qy_tihuo->FindFirst();
//將結果寫入到列表框中
while (!qy_tihuo->Eof )
{
CheckListBox1->Items->Add(qy_tihuo->Fields->FieldByName("出庫單號")->AsString);
qy_tihuo->Next() ;
myNum[myIndex]= qy_tihuo->Fields->FieldByName("數量")->AsInteger;
myMoney[myIndex]=qy_tihuo->Fields->FieldByName("總額")->AsFloat;
}
DBGrid1->DataSource=ds_search;
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::CheckBox1Click(TObject *Sender)
{
if(CheckBox1->Checked )
Edit1->Enabled=true;
else
Edit1->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::FormCreate(TObject *Sender)
{
// tb_search->Open() ;
tb_show->Open() ;
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::DBLookupComboBox1Click(TObject *Sender)
{
//當用戶選擇貨品名稱時,貨品編號也要改編
AnsiString tempid;
tb_search->Close() ;
tb_search->Open() ;
tb_search->Filter ="貨品名稱='"+DBLookupComboBox1->Text +"'" ;
//移動數據指針到第一條記錄
tb_search->Filtered=true;
//獲得貨品編號
tempid=tb_search->Fields->FieldByName("貨品名稱")->AsString ;
Edit1->Text =tempid;
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button1Click(TObject *Sender)
{
if(CheckListBox1->Items->Count>0)
{
for (int i=0;i< CheckListBox1->Items->Count;i++)
{
CheckListBox1->Checked[i]=true;
}
}
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button2Click(TObject *Sender)
{
if(CheckListBox1->Items->Count>0)
{
for (int i=0;i< CheckListBox1->Items->Count;i++)
{
CheckListBox1->Checked[i]=false;
}
}
}
//---------------------------------------------------------------------------
//生成提貨單
void __fastcall Tfrm_tihuo::Button3Click(TObject *Sender)
{
//首先統計出提貨單的所有數據
//確定提貨單貨品數量、總額、提貨部門等等數據
//計算出總數和總額
//獲得被選中的出庫單
//用于保存提貨單中總的數量和金額
TotalNum=0;
TotalMoney=0;
//定義出庫單數量變量
int tempNum=0;
bool ifChoose=false;
String OutputNum;
if(CheckListBox1->Items->Count>0)
{
for (int i=0;i< CheckListBox1->Items->Count;i++)
{
if(CheckListBox1->Checked[i])
{
TotalNum=TotalNum+myNum[i];
TotalMoney=TotalMoney+myMoney[i];
tempNum=tempNum+1;
ifChoose=true;
}
}
}
if(!ifChoose)
{
ShowMessage("請選擇至少一個出庫單!!!");
return;
}
//接著要將具體數據寫入到提貨單中
//直接調用tb_tihuo表控件來增加數據
tb_tihuo->Append() ;
//根據一定原則來實現
BillNum =Edit1->Text+"-"+DateTimeToStr(Now());
DBEdit10->Text= BillNum;
DBEdit12->Text=Edit1->Text;
DBEdit13->Text=DBLookupComboBox1->Text;
DBEdit11->Text=ComboBox1->Text;
DBEdit14->Text=IntToStr(TotalNum) ;
DBEdit15->Text =FloatToStr(TotalMoney);
DBEdit18->Text=IntToStr(tempNum);
DBEdit17->Text=DateToStr(Date());
tb_tihuo->Post() ;
//接下來要將提貨單號寫入到相關的出庫單的相關字段中,這樣便于編輯查看
//可以直接使用UPDATE語句來實現這項功能
if(CheckListBox1->Items->Count>0)
{
for (int i=0;i< CheckListBox1->Items->Count;i++)
{
if(CheckListBox1->Checked[i])
{
//獲得出庫單號
OutputNum=CheckListBox1->Items->Strings[i];
qy_tihuo->Close() ;
qy_tihuo->SQL->Clear();
qy_tihuo->SQL->Add("update 出庫單 set 提貨單號='"+BillNum+"' where 出庫單號='" +
OutputNum+"'");
qy_tihuo->ExecSQL();
}
}
}
GroupBox2->Visible=false;
CheckListBox1->Clear();
DBGrid1->DataSource=ds_deatails ;
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button5Click(TObject *Sender)
{
tb_ftdj->First();
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button6Click(TObject *Sender)
{
if(!tb_ftdj->Bof)
tb_ftdj->Prior();
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button13Click(TObject *Sender)
{
//當用戶單擊新增提貨單的時候,該控件才可以實用
GroupBox2->Visible=true;
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button14Click(TObject *Sender)
{
if(!tb_ftdj->Eof)
tb_ftdj->Next();
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button11Click(TObject *Sender)
{
tb_tihuo->First();
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button9Click(TObject *Sender)
{
if(!tb_tihuo->Bof)
tb_tihuo->Prior();
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button10Click(TObject *Sender)
{
if(!tb_tihuo->Eof)
tb_tihuo->Next();
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button12Click(TObject *Sender)
{
tb_tihuo->Last();
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button4Click(TObject *Sender)
{
tb_tihuo->Filtered =false;
tb_tihuo->Filter=
ComboBox2->Text+ComboBox4->Text+"'"+ComboBox3->Text+"'" ;
//ShowMessage(ComboBox1->Text+ComboBox4->Text+"'"+ComboBox2->Text+"'");
tb_tihuo->Filtered =true;
tb_tihuo->FindFirst();
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button8Click(TObject *Sender)
{
tb_tihuo->Filtered=false;
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button15Click(TObject *Sender)
{
tb_ftdj->Last();
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button16Click(TObject *Sender)
{
tb_ftdj->Append();
tb_ftdj->FieldValues["提貨日期"]=DateToStr(Date());
tb_ftdj->FieldValues["提貨單號"]=tb_tihuo->FieldByName("提貨單號")->AsString;
tb_ftdj->FieldValues["數量"]=tb_tihuo->FieldByName("總數量")->AsInteger-
tb_tihuo->FieldByName("已提貨數量")->AsInteger;
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button17Click(TObject *Sender)
{
int answer;
answer=Application->MessageBox("確定刪除嗎?","警告",MB_YESNO);
if(answer==6)
tb_ftdj->Delete() ;
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button18Click(TObject *Sender)
{
tb_ftdj->Edit();
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button19Click(TObject *Sender)
{
if(tb_ftdj->FieldByName("數量")->AsInteger>(tb_tihuo->FieldByName("總數量")->AsInteger-
tb_tihuo->FieldByName("已提貨數量")->AsInteger))
{
ShowMessage("提貨數量超過預定數量!!!!!");
return;
}
tb_ftdj->Post();
}
//---------------------------------------------------------------------------
void __fastcall Tfrm_tihuo::Button20Click(TObject *Sender)
{
tb_ftdj->Cancel();
}
//---------------------------------------------------------------------------
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -