📄 iosearch.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "ioSearch.h"
#include "iosearchEnd.h"
#include "DataModule.h"
#include "login.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TioSearchForm *ioSearchForm;
//---------------------------------------------------------------------------
__fastcall TioSearchForm::TioSearchForm(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TioSearchForm::FormCreate(TObject *Sender)
{
ComboBox1->ItemIndex=0;
}
//---------------------------------------------------------------------------
void __fastcall TioSearchForm::searchBtnClick(TObject *Sender)
{
if(LoginForm->Edituser->Text=="admin")
{ AnsiString str="select * from (";
if(ComboBox1->ItemIndex==0){
str+="select a.入库时间 as 时间,a.编号 as 流水号,a.结算人 as 操作员,b.事务,a.总金额/2 as 合计金额,a.客户名称 as 仓库或出库单位,a.接收仓库 as 仓库或入库单位,a.结算方式,b.结算单号 as 帐务结算";
str+=" from 入库信息表 as a inner join 应收应付明细表 as b on a.编号=b.单号";
//入库
}else if(ComboBox1->ItemIndex==1){
str+="select a.出库时间 as 时间,a.编号 as 流水号,a.结算人 as 操作员,b.事务,a.总金额/2 as 合计金额,a.客户名称 as 仓库或出库单位,a.出货仓库 as 仓库或入库单位,a.结算方式,b.结算单号 as 帐务结算";
str+=" from 出库信息表 as a inner join 应收应付明细表 as b on a.编号=b.单号";
//销售(出库)
}else if(ComboBox1->ItemIndex==2){
str+="select a.退库时间 as 时间,a.编号 as 流水号,a.结算人 as 操作员,b.事务,a.总金额/2 as 合计金额,a.客户名称 as 仓库或出库单位,a.接收仓库 as 仓库或入库单位,a.结算方式,b.结算单号 as 帐务结算";
str+=" from 退库信息表 as a inner join 应收应付明细表 as b on a.编号=b.单号";
//退库
}else if(ComboBox1->ItemIndex==3){
str+="select a.退货时间 as 时间,a.编号 as 流水号,a.结算人 as 操作员,b.事务,a.总金额/2 as 合计金额,a.客户名称 as 仓库或出库单位,a.出货仓库 as 仓库或入库单位,a.结算方式,b.结算单号 as 帐务结算";
str+=" from 退货信息表 as a inner join 应收应付明细表 as b on a.编号=b.单号";
//退货
}else if(ComboBox1->ItemIndex==4){
str+="select a.转库时间 as 时间,a.编号 as 流水号,a.结算人 as 操作员,b.事务,a.总金额/2 as 合计金额,a.接收仓库 as 仓库或出库单位,a.出货仓库 as 仓库或入库单位,a.结算方式,b.结算单号 as 帐务结算";
str+=" from 转库信息表 as a inner join 应收应付明细表 as b on a.编号=b.单号";
//转库
}else if(ComboBox1->ItemIndex==5){
str+="select a.报损时间 as 时间,a.编号 as 流水号,a.结算人 as 操作员,b.事务,a.总金额/2 as 合计金额,a.报损仓库 as 仓库或出库单位,a.结算方式,b.结算单号 as 帐务结算";
str+=" from 报损信息表 as a inner join 应收应付明细表 as b on a.编号=b.单号";
//报损
}
str+=")";
str+=" where ";
str+="时间>=#";
str+=Date1->Date.DateString();
str+="# and ";
str+="时间<=#";
str+=Date2->Date.DateString();
str+='#';
if(CB1->Checked)
if(Dnum->Text==""){
ShowMessage("单号不能为空!");
Dnum->SetFocus();
}else{
str+="流水号=";
str+=Dnum->Text.Trim().ToInt();
str+=" and ";
}
if(CB2->Checked)
if(Dnum->Text==""){
ShowMessage("操作员不能为空!");
Pnum->SetFocus();
}else{
str+="操作员='";
str+=Pnum->Text.Trim();
str+="' and ";
}
if(CB4->Checked)
if(Money->Text==""){
ShowMessage("合计金额不能为空!");
Dnum->SetFocus();
}else{
str+="合计金额=";
str+=Money->Text.Trim().ToDouble();
str+=" and ";
}
if(CB5->Checked)
if(DWname->Text==""){
ShowMessage("单位名称不能为空!");
Dnum->SetFocus();
}else{
str+="仓库或出库单位='";
str+=DWname->Text.Trim();
str+="'";
}
//ShowMessage(str);
DM->ADOQ->Close();
DM->ADOQ->SQL->Clear();
DM->ADOQ->SQL->Add(str);
DM->ADOQ->Open();
TiosearchEndForm *iosearchEndForm=new TiosearchEndForm(this);
iosearchEndForm->ShowModal();
delete iosearchEndForm;
DM->ADOQ->Close();
}else{
AnsiString str="select * from (";
if(ComboBox1->ItemIndex==0){
str+="select a.入库时间 as 时间,a.编号 as 流水号,a.结算人 as 操作员,b.事务,a.总金额 as 合计金额,a.客户名称 as 仓库或出库单位,a.接收仓库 as 仓库或入库单位,a.结算方式,b.结算单号 as 帐务结算";
str+=" from 入库信息表 as a inner join 应收应付明细表 as b on a.编号=b.单号";
//入库
}else if(ComboBox1->ItemIndex==1){
str+="select a.出库时间 as 时间,a.编号 as 流水号,a.结算人 as 操作员,b.事务,a.总金额 as 合计金额,a.客户名称 as 仓库或出库单位,a.出货仓库 as 仓库或入库单位,a.结算方式,b.结算单号 as 帐务结算";
str+=" from 出库信息表 as a inner join 应收应付明细表 as b on a.编号=b.单号";
//销售(出库)
}else if(ComboBox1->ItemIndex==2){
str+="select a.退库时间 as 时间,a.编号 as 流水号,a.结算人 as 操作员,b.事务,a.总金额 as 合计金额,a.客户名称 as 仓库或出库单位,a.接收仓库 as 仓库或入库单位,a.结算方式,b.结算单号 as 帐务结算";
str+=" from 退库信息表 as a inner join 应收应付明细表 as b on a.编号=b.单号";
//退库
}else if(ComboBox1->ItemIndex==3){
str+="select a.退货时间 as 时间,a.编号 as 流水号,a.结算人 as 操作员,b.事务,a.总金额 as 合计金额,a.客户名称 as 仓库或出库单位,a.出货仓库 as 仓库或入库单位,a.结算方式,b.结算单号 as 帐务结算";
str+=" from 退货信息表 as a inner join 应收应付明细表 as b on a.编号=b.单号";
//退货
}else if(ComboBox1->ItemIndex==4){
str+="select a.转库时间 as 时间,a.编号 as 流水号,a.结算人 as 操作员,b.事务,a.总金额 as 合计金额,a.接收仓库 as 仓库或出库单位,a.出货仓库 as 仓库或入库单位,a.结算方式,b.结算单号 as 帐务结算";
str+=" from 转库信息表 as a inner join 应收应付明细表 as b on a.编号=b.单号";
//转库
}else if(ComboBox1->ItemIndex==5){
str+="select a.报损时间 as 时间,a.编号 as 流水号,a.结算人 as 操作员,b.事务,a.总金额 as 合计金额,a.报损仓库 as 仓库或出库单位,a.结算方式,b.结算单号 as 帐务结算";
str+=" from 报损信息表 as a inner join 应收应付明细表 as b on a.编号=b.单号";
//报损
}
str+=")";
str+=" where ";
str+="时间>=#";
str+=Date1->Date.DateString();
str+="# and ";
str+="时间<=#";
str+=Date2->Date.DateString();
str+='#';
if(CB1->Checked)
if(Dnum->Text==""){
ShowMessage("单号不能为空!");
Dnum->SetFocus();
}else{
str+="流水号=";
str+=Dnum->Text.Trim().ToInt();
str+=" and ";
}
if(CB2->Checked)
if(Dnum->Text==""){
ShowMessage("操作员不能为空!");
Pnum->SetFocus();
}else{
str+="操作员='";
str+=Pnum->Text.Trim();
str+="' and ";
}
if(CB4->Checked)
if(Money->Text==""){
ShowMessage("合计金额不能为空!");
Dnum->SetFocus();
}else{
str+="合计金额=";
str+=Money->Text.Trim().ToDouble();
str+=" and ";
}
if(CB5->Checked)
if(DWname->Text==""){
ShowMessage("单位名称不能为空!");
Dnum->SetFocus();
}else{
str+="仓库或出库单位='";
str+=DWname->Text.Trim();
str+="'";
}
//ShowMessage(str);
DM->ADOQ->Close();
DM->ADOQ->SQL->Clear();
DM->ADOQ->SQL->Add(str);
DM->ADOQ->Open();
TiosearchEndForm *iosearchEndForm=new TiosearchEndForm(this);
iosearchEndForm->ShowModal();
delete iosearchEndForm;
DM->ADOQ->Close();
}
}
//---------------------------------------------------------------------------
void __fastcall TioSearchForm::closeBtnClick(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -