📄 umain.cpp
字号:
qryOrder->FieldByName("fTitle")->AsString = edtTitle->Text;
qryOrder->Post();
qryDetail->Close();
qryDetail->SQL->Text = "select top 1 * from tblDetail";
qryDetail->Open();
int nCount = tblTemp->RecordCount;
tblTemp->First();
for(int i=0; i<nCount; i++)
{
qryDetail->Append();
qryDetail->FieldByName("fBillNumber")->AsString = edtBillNumber->Text;
qryDetail->FieldByName("fBatchNumber")->AsString = tblTemp->FieldByName("fBatchNumber")->AsString;
qryDetail->FieldByName("fLeechdom")->AsString = tblTemp->FieldByName("fLeechdom")->AsString;
qryDetail->FieldByName("fSpec")->AsString = tblTemp->FieldByName("fSpec")->AsString;
qryDetail->FieldByName("fProFact")->AsString = tblTemp->FieldByName("fProFact")->AsString;
qryDetail->FieldByName("fUnit")->AsString = tblTemp->FieldByName("fUnit")->AsString;
qryDetail->FieldByName("fAmount")->AsInteger = tblTemp->FieldByName("fAmount")->AsInteger;
qryDetail->FieldByName("fUnitPrice")->AsCurrency = tblTemp->FieldByName("fUnitPrice")->AsCurrency;
qryDetail->FieldByName("fSum")->AsCurrency = tblTemp->FieldByName("fSum")->AsCurrency;
qryDetail->FieldByName("fRefer")->AsCurrency = tblTemp->FieldByName("fRefer")->AsCurrency;
qryDetail->FieldByName("fCasing")->AsString = tblTemp->FieldByName("fCasing")->AsString;
qryDetail->FieldByName("fBale")->AsString = tblTemp->FieldByName("fBale")->AsString;
qryDetail->Post();
tblTemp->Next();
}
if(nCount)
{
tblTemp->First();
while(!tblTemp->Eof)
tblTemp->Delete();
}
MessageBox(Handle,
String().sprintf("订单添加成功. 共有 %d 条药品明细.", nCount).c_str(),
g_strAppName.c_str(),
MB_OK | MB_ICONINFORMATION);
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::btnQueryAllClick(TObject *Sender)
{
qryOrder->Close();
qryOrder->SQL->Text = "select * from tblOrder";
qryOrder->Open();
dbgrdOrderCellClick(NULL);
stbMain->Panels->Items[0]->Text = String().sprintf("共有 %d 条订单记录.", qryOrder->RecordCount);
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::btnQueryClick(TObject *Sender)
{
String strSQL("");
if(edtQueryByBillNumber->Text.Trim().Length() > 0)
strSQL += String().sprintf(" and fBillNumber='%s'", edtQueryByBillNumber->Text);
if(edtQueryByClient->Text.Trim().Length() > 0)
strSQL += String().sprintf(" and fClient like '%%%s%%'", edtQueryByClient->Text);
if(edtQueryByBillAuthor->Text.Trim().Length() > 0)
strSQL = String().sprintf(" and fBillAuthor='%s'", edtQueryByBillAuthor->Text);
if(edtQueryByOpera->Text.Trim().Length() > 0)
strSQL = String().sprintf(" and fOpera='%s'", edtQueryByOpera->Text);
if(chkQueryByDate->Checked)
strSQL = String().sprintf(" and fGenBillDate between #%s# and #%s#",
FormatDateTime("yyy-mm-dd", dtpQueryStart->Date),
FormatDateTime("yyy-mm-dd", dtpQueryEnd->Date + 1));
qryOrder->Close();
qryOrder->SQL->Text = "select * from tblOrder where 1=1" + strSQL;
qryOrder->Open();
if(qryOrder->RecordCount)
{
qryDetail->Close();
qryDetail->SQL->Text = String().sprintf(
"select * from tblDetail where fBillNumber='%s'",
qryOrder->FieldByName("fBillNumber")->AsString);
qryDetail->Open();
}
stbMain->Panels->Items[0]->Text = String().sprintf("共有 %d 条订单记录.", qryOrder->RecordCount);
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::btnDeleteOrderClick(TObject *Sender)
{
if(qryOrder->Active && qryOrder->RecordCount)
{
if(MessageBox(Handle,
String().sprintf("确定要删除单据号为 %s 的这条记录吗? "
"相关的药品明细记录也将删除.",
qryOrder->FieldByName("fBillNumber")->AsString).c_str(),
g_strAppName.c_str(),
MB_YESNO | MB_ICONQUESTION) == IDYES)
{
//
qryDetail->Close();
qryDetail->SQL->Text = String().sprintf(
"delete from tblDetail where fBillNumber='%s'",
qryOrder->FieldByName("fBillNumber")->AsString);
qryDetail->ExecSQL();
//
qryOrder->Delete();
}
btnQueryAllClick(Sender);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::btnDeleteDetailClick(TObject *Sender)
{
if(qryDetail->Active && qryDetail->RecordCount)
{
if(MessageBox(Handle,
String().sprintf("确定要删除批号为 %s 的这条记录吗?",
qryDetail->FieldByName("fBatchNumber")->AsString).c_str(),
g_strAppName.c_str(),
MB_YESNO | MB_ICONQUESTION) == IDYES)
{
qryDetail->Delete();
}
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::btnClearDetailClick(TObject *Sender)
{
CrnClearOrderForm();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::dbgrdOrderCellClick(TColumn *Column)
{
if(qryOrder->RecordCount)
{
qryDetail->Close();
qryDetail->SQL->Text = String().sprintf(
"select * "
"from tblDetail "
"where fBillNumber='%s'",
qryOrder->FieldByName("fBillNumber")->AsString);
qryDetail->Open();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::btnSaveDetailClick(TObject *Sender)
{
if(qryDetail->State == dsEdit || qryDetail->State == dsInsert)
qryDetail->Post();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::btnSaveOrderClick(TObject *Sender)
{
if(qryOrder->State == dsEdit || qryOrder->State == dsInsert)
qryOrder->Post();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::btnDeleteTempClick(TObject *Sender)
{
if(tblTemp->Active && tblTemp->RecordCount)
{
if(MessageBox(Handle,
String().sprintf("确定要删除批号为 %s 的这条记录吗?",
tblTemp->FieldByName("fBatchNumber")->AsString).c_str(),
g_strAppName.c_str(),
MB_YESNO | MB_ICONQUESTION) == IDYES)
{
tblTemp->Delete();
}
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::btnSaveTempClick(TObject *Sender)
{
if(tblTemp->State == dsEdit || tblTemp->State == dsInsert)
tblTemp->Post();
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::qryDetailBeforePost(TDataSet *DataSet)
{
if(DataSet->FieldByName("fBillNumber")->AsString.Trim().Length() < 1)
{
if(qryOrder->Active && qryOrder->RecordCount)
DataSet->FieldByName("fBillNumber")->AsString =
qryOrder->FieldByName("fBillNumber")->AsString;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::miDesignReportClick(TObject *Sender)
{
frReport->LoadFromFile(ExtractFilePath(ParamStr(0)) + "Report.fr3");
frReport->DesignReport();
}
//---------------------------------------------------------------------------
Variant __fastcall TfrmMain::frReportUserFunction(
const AnsiString MethodName, Variant &Params)
{
// if(UpperCase(MethodName) == UpperCase("NumToRMBStr"))
// return NumToRMBStr(Params.GetElement(0));
return 0;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::qryDetailAfterInsert(TDataSet *DataSet)
{
DataSet->FieldByName("fAmount")->AsInteger = 0;
DataSet->FieldByName("fUnitPrice")->AsFloat = 0.0;
DataSet->FieldByName("fSum")->AsFloat = 0.0;
DataSet->FieldByName("fRefer")->AsFloat = 0.0;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::tblTempAfterInsert(TDataSet *DataSet)
{
DataSet->FieldByName("fAmount")->AsInteger = 0;
DataSet->FieldByName("fUnitPrice")->AsFloat = 0.0;
DataSet->FieldByName("fSum")->AsFloat = 0.0;
DataSet->FieldByName("fRefer")->AsFloat = 0.0;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::tblTempfUnitPriceChange(TField *Sender)
{
Sender->DataSet->FieldByName("FSum")->AsCurrency = Sender->AsCurrency
* Sender->DataSet->FieldByName("fAmount")->AsCurrency;
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::tblTempfAmountChange(TField *Sender)
{
Sender->DataSet->FieldByName("FSum")->AsCurrency = Sender->AsCurrency
* Sender->DataSet->FieldByName("fUnitPrice")->AsCurrency;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -