📄 untquery.pas
字号:
unit untQuery;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, OleServer, Excel2000, StdCtrls, ExtCtrls, Grids,
DBGrids, DB, Buttons, ADODB, DBClient, DBTables;
type
TfrmQuery = class(TForm)
pgcQuery: TPageControl;
pgcQryCust: TTabSheet;
pgcQryStock: TTabSheet;
pgcQryInStock: TTabSheet;
pgcQryOutStock: TTabSheet;
gbCustInfo: TGroupBox;
gbQryCust: TGroupBox;
Label1: TLabel;
Label2: TLabel;
edtCode: TEdit;
Label3: TLabel;
edtCustName: TEdit;
Bevel1: TBevel;
Label4: TLabel;
rdoSexMale: TRadioButton;
rdoSexFemale: TRadioButton;
Label5: TLabel;
edtZip: TEdit;
Label6: TLabel;
edtAddress: TEdit;
grdQryCust: TDBGrid;
Label7: TLabel;
cbBeginYear0: TComboBox;
Label8: TLabel;
cbBeginMonth0: TComboBox;
Label9: TLabel;
cbBeginDay0: TComboBox;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
cbEndDay0: TComboBox;
Label13: TLabel;
cbEndMonth0: TComboBox;
Label14: TLabel;
cbEndYear0: TComboBox;
gbGoodsStock: TGroupBox;
Label15: TLabel;
Label16: TLabel;
edtStockGoodsName: TEdit;
gbQryStock: TGroupBox;
grdQryStock: TDBGrid;
gbGoodsInStock: TGroupBox;
Label17: TLabel;
Label18: TLabel;
edtInStockGoodsName: TEdit;
Label19: TLabel;
cbBeginYear2: TComboBox;
Label20: TLabel;
cbBeginMonth2: TComboBox;
Label21: TLabel;
cbBeginDay2: TComboBox;
Label22: TLabel;
Label23: TLabel;
cbEndYear2: TComboBox;
Label24: TLabel;
cbEndMonth2: TComboBox;
Label25: TLabel;
cbEndDay2: TComboBox;
Label26: TLabel;
gbQryInStock: TGroupBox;
grdQryInStock: TDBGrid;
gbGoodsOutStock: TGroupBox;
Label27: TLabel;
Label28: TLabel;
edtOutStockGoodsName: TEdit;
Label29: TLabel;
cbBeginYear3: TComboBox;
Label30: TLabel;
cbBeginMonth3: TComboBox;
Label31: TLabel;
cbBeginDay3: TComboBox;
Label32: TLabel;
Label33: TLabel;
cbEndYear3: TComboBox;
Label34: TLabel;
cbEndMonth3: TComboBox;
Label35: TLabel;
cbEndDay3: TComboBox;
Label36: TLabel;
gbQryOutStock: TGroupBox;
grdQryOutStock: TDBGrid;
btnClose0: TButton;
btnClose1: TButton;
btnClose2: TButton;
btnClose3: TButton;
Label37: TLabel;
edtTel: TEdit;
btnUpdateCust: TButton;
ShowDate0: TLabel;
ShowDate1: TLabel;
ShowDate2: TLabel;
ShowDate3: TLabel;
Bevel2: TBevel;
cbGoodsCode1: TComboBox;
Label38: TLabel;
edtUnit: TEdit;
Label39: TLabel;
edtPrice: TEdit;
Label40: TLabel;
edtSafeStock: TEdit;
Label41: TLabel;
edtQtyBuyMin: TEdit;
btnUpdateGoods: TButton;
cbCustID: TComboBox;
Label42: TLabel;
Label43: TLabel;
Label44: TLabel;
cbGoodsCode2: TComboBox;
cbGoodsCode3: TComboBox;
Label45: TLabel;
labTotalStock: TLabel;
Label46: TLabel;
labShowSum1: TLabel;
Label48: TLabel;
Label50: TLabel;
labTotalInStock: TLabel;
Label52: TLabel;
labShowSum2: TLabel;
Label54: TLabel;
labTotalOutStock: TLabel;
Label56: TLabel;
labShowSum3: TLabel;
btnQry3: TBitBtn;
btnQry2: TBitBtn;
btnQry0: TBitBtn;
souQryGrd: TDataSource;
qryFromGrd: TADOQuery;
labShowSum0: TLabel;
Label47: TLabel;
procedure btnClose_Click(Sender: TObject);
procedure cbCustIDChange(Sender: TObject);
procedure btnUpdateCustClick(Sender: TObject);
procedure btnQry0Click(Sender: TObject);
procedure cbGoodsCode1Change(Sender: TObject);
procedure btnUpdateGoodsClick(Sender: TObject);
procedure cbGoodsCode2Change(Sender: TObject);
procedure btnQry2Click(Sender: TObject);
procedure cbGoodsCode3Change(Sender: TObject);
procedure btnQry3Click(Sender: TObject);
private
procedure QryCustInfo(CustID: string;BeginDate: string;EndDate: string);
{ Private declarations }
public
function Execute(QryStr: string):boolean;
{ Public declarations }
end;
var
frmQuery: TfrmQuery;
implementation
uses untGoodsOrderDat;
{$R *.dfm}
function TfrmQuery.Execute(QryStr: string):boolean;
var
i : Integer; // 循环计数器
dateStr : string; // 日期字符串
begin
// 初始化顾客查询选项卡
edtCode.Text := '';
edtCustName.Text := '';
edtTel.Text := '';
edtZip.Text := '';
edtAddress.Text := '';
rdoSexMale.Checked := true;
// 初始化库存查询选项卡
edtUnit.Text := '';
edtPrice.Text := '';
edtSafeStock.Text := '';
edtQtyBuyMin.Text := '';
edtStockGoodsName.Text := '';
// 初始化入库查询选项卡
edtInStockGoodsName.Text := '';
// 初始化出库查询选项卡
edtOutStockGoodsName.Text := '';
// 初始化系统日期显示
dateStr := FormatDateTime('YYYY年MM月DD日',now);
ShowDate0.Caption := ShowDate0.Caption + dateStr;
ShowDate1.Caption := ShowDate1.Caption + dateStr;
ShowDate2.Caption := ShowDate2.Caption + dateStr;
ShowDate3.Caption := ShowDate3.Caption + dateStr;
// 初始化所有下拉列表框
with datGoodsOrder do
begin // 初始化顾客号和商品号列表
// 打开商品表和顾客表
qryGoods.SQL.Text := 'SELECT GoodsCode FROM Goods';
qryGoods.Open;
qryCustomer.SQL.Text := 'SELECT CustID FROM Customer';
qryCustomer.Open;
// 初始化商品编号列表框和顾客编号列表框
qryGoods.First;
while not qryGoods.Eof do
begin
cbGoodsCode1.Items.Add(qryGoods.FieldByName('GoodsCode').AsString);
cbGoodsCode2.Items.Add(qryGoods.FieldByName('GoodsCode').AsString);
cbGoodsCode3.Items.Add(qryGoods.FieldByName('GoodsCode').AsString);
qryGoods.Next;
end;
qryGoods.Close;
qryCustomer.First;
while not qryCustomer.Eof do
begin
cbCustID.Items.Add(qryCustomer.FieldByName('CustID').AsString);
qryCustomer.Next;
end;
qryCustomer.Close;
end;
for i := 2000 to 2100 do
begin // 初始化年 注:月份和日期直接在控件属性里面设置
cbBeginYear0.Items.Add(IntToStr(i));
cbBeginYear2.Items.Add(IntToStr(i));
cbBeginYear3.Items.Add(IntToStr(i));
cbEndYear0.Items.Add(IntToStr(i));
cbEndYear2.Items.Add(IntToStr(i));
cbEndYear3.Items.Add(IntToStr(i));
end;
// 选择要显示的选项卡
if 'Cust'=QryStr then
pgcQuery.ActivePage := pgcQryCust //注意:如果后面跟else,这里不能有";"
else if 'Stock'=QryStr then
pgcQuery.ActivePage := pgcQryStock
else if 'InStock'=QryStr then
pgcQuery.ActivePage := pgcQryInStock
else
pgcQuery.ActivePage := pgcQryOutStock; //结束语句必须有";"
// 显示窗体,并返回函数结果
Result := ShowModal = mrOK;
end;
procedure TfrmQuery.btnClose_Click(Sender: TObject);
begin
Close;
end;
////////////////////////////////////////////////////////////////////////////////
// 顾客查询选项卡
procedure TfrmQuery.cbCustIDChange(Sender: TObject);
begin
with datGoodsOrder do
begin
qryCustomer.SQL.Text := 'SELECT * FROM Customer WHERE CustID=' + Trim(cbCustID.Text);
qryCustomer.Open;
edtCode.Text := qryCustomer.FieldByName('Code').AsString;
edtCustName.Text := qryCustomer.FieldByName('CustName').AsString;
edtAddress.Text := qryCustomer.FieldByName('Address').AsString;
edtZip.Text := qryCustomer.FieldByName('Zip').AsString;
edtTel.Text := qryCustomer.FieldByName('Tel').AsString;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -