📄 bom.~cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "bom.h"
#include "selectmaterial.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "Parent"
#pragma resource "*.dfm"
TfmBom *fmBom;
//---------------------------------------------------------------------------
__fastcall TfmBom::TfmBom(TComponent* Owner)
: TfmParent(Owner)
{
// 设置按钮状态
this->SetButtonEnable(0);
BitBtn2->Enabled = false;
BitBtn3->Enabled = false;
}
//---------------------------------------------------------------------------
void __fastcall TfmBom::Table1AfterScroll(TDataSet *DataSet)
{
Edit6->Text = Edit4->Text;
Query2->Close();
Query2->Params->Items[0]->AsString = Table1->FieldByName("父项编号")
->AsString;
Query2->Open();
}
//---------------------------------------------------------------------------
void __fastcall TfmBom::BitBtn2Click(TObject *Sender)
{
TfmSelectMat* pFm = new TfmSelectMat(NULL);
pFm->ShowModal();
if(pFm->Table1->FieldByName("物料编号"))
{
EditDBEdit->SetFocus();
EditDBEdit->Text = pFm->Table1->FieldByName("物料编号")->AsString;
}
delete pFm;
}
//---------------------------------------------------------------------------
void __fastcall TfmBom::BitBtn3Click(TObject *Sender)
{
TfmSelectMat* pFm = new TfmSelectMat(NULL);
pFm->ShowModal();
if(pFm->Table1->FieldByName("物料编号"))
{
EditDBEdit2->SetFocus();
EditDBEdit2->Text = pFm->Table1->FieldByName("物料编号")->AsString;
}
delete pFm;
}
//---------------------------------------------------------------------------
void __fastcall TfmBom::EditDBEditChange(TObject *Sender)
{
TQuery* pQuery = new TQuery(NULL);
pQuery->DatabaseName = "db";
AnsiString sql;
sql = "select 物料名称 from 物料主文件 where 物料编号 = '";
sql += EditDBEdit->Text + "'";
pQuery->SQL->Add(sql);
pQuery->Open();
Edit4->Text = pQuery->FieldByName("物料名称")->AsString;
pQuery->Close();
delete pQuery;
}
//---------------------------------------------------------------------------
void __fastcall TfmBom::EditDBEdit2Change(TObject *Sender)
{
TQuery* pQuery = new TQuery(NULL);
pQuery->DatabaseName = "db";
AnsiString sql;
sql = "select 物料名称 from 物料主文件 where 物料编号 = '";
sql += EditDBEdit2->Text + "'";
pQuery->SQL->Add(sql);
pQuery->Open();
Edit5->Text = pQuery->FieldByName("物料名称")->AsString;
pQuery->Close();
delete pQuery;
}
//---------------------------------------------------------------------------
void __fastcall TfmBom::btNewClick(TObject *Sender)
{
// 设置按钮状态
BitBtn2->Enabled = true;
BitBtn3->Enabled = true;
EditDBEdit->SetFocus();
// 注意如何调用父类窗体的方法
TfmParent::btNewClick(NULL);
}
//---------------------------------------------------------------------------
void __fastcall TfmBom::btEditClick(TObject *Sender)
{
// 设置按钮状态
BitBtn2->Enabled = true;
BitBtn3->Enabled = true;
// 注意如何调用父类窗体的方法
TfmParent::btEditClick(NULL);
}
//---------------------------------------------------------------------------
void __fastcall TfmBom::btSaveClick(TObject *Sender)
{
// 设置按钮状态
BitBtn2->Enabled = false;
BitBtn3->Enabled = false;
// 注意如何调用父类窗体的方法
TfmParent::btSaveClick(NULL);
}
//---------------------------------------------------------------------------
void __fastcall TfmBom::btCancelClick(TObject *Sender)
{
// 设置按钮状态
BitBtn2->Enabled = false;
BitBtn3->Enabled = false;
// 注意如何调用父类窗体的方法
TfmParent::btCancelClick(NULL);
}
//---------------------------------------------------------------------------
// 查询,table中没有名称和拼音字段,需要处理
void __fastcall TfmBom::BitBtn1Click(TObject *Sender)
{
TQuery* pQuery = new TQuery(NULL);
pQuery->DatabaseName = "db";
AnsiString sql;
sql = "select 物料编号 from 物料主文件 ";
AnsiString szFilter;
// 设置条件
if(!Edit1->Text.IsEmpty())
szFilter = "物料编号 like '" + Edit1->Text + "%' and ";
if(!Edit2->Text.IsEmpty())
szFilter += "物料名称 like '" + Edit2->Text + "%' and ";
if(!Edit3->Text.IsEmpty())
szFilter += "拼音编码 like '" + Edit3->Text + "%' and ";
// 清除最后多余的and
szFilter = szFilter.SubString(1,szFilter.Length()-5);
if(!szFilter.IsEmpty())
sql += "where " + szFilter;
pQuery->SQL->Add(sql);
pQuery->Open();
Table1->Filtered = false;
if(!pQuery->FieldByName("物料编号")->AsString.IsEmpty())
Table1->Filter = "父项编号 = '" + pQuery->FieldByName("物料编号")->AsString + "'";
else
Table1->Filter = "";
Table1->Filtered = true;
pQuery->Close();
delete pQuery;
}
//---------------------------------------------------------------------------
void __fastcall TfmBom::Edit1KeyUp(TObject *Sender, WORD &Key,
TShiftState Shift)
{
// 回车查询
if(Key == 13)
{
BitBtn1Click(NULL);
}
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -