📄 stockinform.pas
字号:
unit stockinform;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, DBCtrls, Mask, Buttons, Grids, DBGrids,
DB, ADODB, DBCtrlsEh, FR_DSet, FR_DBSet, FR_Class, frexpimg, FR_E_HTML2,
frOLEExl, FR_E_TXT, FR_E_RTF, FR_OLE, FR_Desgn;
type
TstockINfm = class(TForm)
grp1: TGroupBox;
grp2: TGroupBox;
dbgrd1: TDBGrid;
grp3: TGroupBox;
Label1: TLabel;
grp4: TGroupBox;
Ado_MaterialIn: TADOQuery;
tMaterialIn_ds: TDataSource;
ADO_Product: TADOTable;
ADO_Mtr: TADOTable;
ds_Mtr: TDataSource;
ds_Product: TDataSource;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label16: TLabel;
dbdate: TDBDateTimeEditEh;
DBEdit5: TDBEdit;
DBEdit10: TDBEdit;
DBEdit12: TDBEdit;
dbqty: TDBEdit;
DBEdit8: TDBEdit;
mtr_name: TDBEdit;
DBEdit6: TDBEdit;
product_name: TDBEdit;
DBEdit11: TDBEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
savebtn: TBitBtn;
BitBtn5: TBitBtn;
BitBtn7: TBitBtn;
BitBtn8: TBitBtn;
BitBtn9: TBitBtn;
BitBtn10: TBitBtn;
comb_mtr: TDBComboBox;
Label15: TLabel;
Label18: TLabel;
comb_product: TDBComboBox;
ADO_temp: TADOQuery;
mtr_rpt: TfrReport;
frDBDataSet1: TfrDBDataSet;
frOLEObject1: TfrOLEObject;
frRTFExport1: TfrRTFExport;
frTextExport1: TfrTextExport;
frOLEExcelExport1: TfrOLEExcelExport;
frHTML2Export1: TfrHTML2Export;
frJPEGExport1: TfrJPEGExport;
ADO_MtrMtrCode: TWideStringField;
ADO_ProductfProductID: TWideStringField;
RefUnit: TDBComboBox;
dbunit: TDBComboBox;
ado_unit: TADOTable;
ado_unitfUnitCode: TWideStringField;
ado_unitfbaseUnits: TWideStringField;
moneycomb: TDBComboBox;
ado_money: TADOTable;
ado_moneyfMoneyCode: TWideStringField;
measureUnit: TDBEdit;
WeightUnit: TDBEdit;
updt_MtrIn_Stock: TADOQuery;
materialstock_rpt: TfrReport;
MaterialStock: TADOQuery;
ds_MaterialStock: TDataSource;
frDBDS_Mtr: TfrDBDataSet;
takeMaterpt: TfrReport;
Ado_MaterialOutput: TADOQuery;
ds_MtrOut: TDataSource;
frDs_mtrOUt: TfrDBDataSet;
insertByINput: TADOQuery;
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure comb_productChange(Sender: TObject);
procedure comb_mtrChange(Sender: TObject);
procedure savebtnClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn10Click(Sender: TObject);
procedure Ado_MaterialInAfterPost(DataSet: TDataSet);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
stockINfm: TstockINfm;
implementation
uses MainFm;
{$R *.dfm}
procedure TstockINfm.BitBtn5Click(Sender: TObject);
begin
Ado_MaterialIn.Cancel;
end;
procedure TstockINfm.BitBtn3Click(Sender: TObject);
begin
Ado_MaterialIn.edit;
savebtn.Enabled:=true;
end;
procedure TstockINfm.BitBtn2Click(Sender: TObject);
begin
if MessageBox(Handle,PChar('sure to delete?'),'warning',mb_iconwarning+mb_yesno)=idyes then
Ado_MaterialIn.Delete;
end;
procedure TstockINfm.BitBtn1Click(Sender: TObject);
begin
Ado_MaterialIn.Append;
// RzToolbarButton1.Enabled:=true;
savebtn.Enabled:=true;
dbdate.Value:=now();
end;
procedure TstockINfm.comb_productChange(Sender: TObject);
begin
with ado_temp do
ado_temp.Close;
ado_temp.SQL.Clear;
ado_temp.SQL.Add('select * from tMaterial where fParentID like '''+'%'+comb_product.Text+'%'+'''');
ado_temp.open;
// edit1.Text:=ado_temp.SQL.text;
product_name.Text:=ado_temp.fieldbyname('fParentName').AsString;
end;
procedure TstockINfm.comb_mtrChange(Sender: TObject);
begin
with ado_temp do
ado_temp.Close;
ado_temp.SQL.Clear;
ado_temp.SQL.Add('select MtrName,fweightUnit,fMeasureUnit from tMtrCode where MtrCode like '''+'%'+comb_Mtr.Text+'%'+'''');
ado_temp.open;
// edit1.Text:=ado_temp.SQL.text;
mtr_name.Text:=ado_temp.fieldbyname('MtrName').AsString;
measureUnit.Text:=ado_temp.fieldbyname('fMeasureUnit').AsString;
WeightUnit.Text:=ado_temp.fieldByname('fweightUnit').AsString;
//end;
end;
procedure TstockINfm.savebtnClick(Sender: TObject);
begin
if (trim(comb_product.Text)<>'') and (trim(comb_mtr.text)<>'') and (trim(dbqty.text)<>'') and (trim(measureUnit.text)<>'') then
begin
if messagebox(Handle,PChar('sure to save?'),'warning',mb_iconwarning+mb_yesno)=IDYES then
Ado_MaterialIn.Post;
savebtn.Enabled:=false;
end
else
begin
showmessage('please check the information if intact');
end;
end;
procedure TstockINfm.FormCreate(Sender: TObject);
var i:integer;
begin
with ado_product do
if ado_product.RecordCount>0 then
begin
ado_product.first;
for i:=0 to ado_product.RecordCount-1 do
begin
comb_product.Items.Add(ado_product.fieldbyname('fProductID').AsString);
ado_product.Next;
end;
end;
with ado_mtr do
if ado_mtr.RecordCount>0 then
begin
ado_mtr.First;
for i:=0 to ado_mtr.RecordCount-1 do
begin
comb_mtr.Items.Add(ado_mtr.fieldbyname('Mtrcode').AsString);
ado_Mtr.Next;
end;
end;
with ado_unit do
if ado_unit.RecordCount>0 then
begin
ado_unit.First;
for i:=0 to ado_unit.RecordCount-1 do
begin
dbunit.Items.Add(ado_unit.fieldbyname('fUnitCode').AsString);
RefUnit.Items.Add(ado_unit.fieldbyname('fbaseUnits').AsString);
end;
end;
with ado_money do
if ado_money.RecordCount>0 then
begin
ado_money.First;
for i:=0 to ado_money.RecordCount-1 do
begin
moneycomb.Items.Add(ado_money.Fieldbyname('fMoneyCode').AsString);
ado_money.Next;
end;
end;
end;
procedure TstockINfm.BitBtn10Click(Sender: TObject);
begin
mtr_rpt.ShowReport;
end;
procedure TstockINfm.Ado_MaterialInAfterPost(DataSet: TDataSet);
begin
with ADO_temp do
begin
ado_temp.Close; //insertMtrQtybyInput
// ado_temp.Close;
ado_temp.SQL.Clear;
ado_temp.Prepared:=false;
ado_temp.SQL.Text:='updtMtrQtybyInput'+ ''''+Ado_MaterialIn.fieldbyname('fMtrID').AsString+'''';
ado_temp.Prepared:=True;
ado_temp.ExecSQL;
end;
with insertByINput do
begin
insertByINput.Close; //insertMtrQtybyInput
insertByINput.SQL.Clear;
insertByINput.Prepared:=false;
insertByINput.SQL.Text:='insertMtrQtybyInput'+ ''''+Ado_MaterialIn.fieldbyname('fMtrID').AsString+'''';
insertByINput.Prepared:=True;
insertByINput.ExecSQL;
end;
with updt_MtrIn_Stock do
begin
updt_MtrIn_Stock.Close;
updt_MtrIn_Stock.SQL.Clear;
updt_MtrIn_Stock.Prepared:=False;
// updt_MtrIn_Stock.SQL.Text:='P_Trim_MtrIN_stock' +''''+Ado_MaterialIn.FieldByName('fMtrID').AsString+'''';
updt_MtrIn_Stock.Prepared:=True;
updt_MtrIn_Stock.ExecSQL;
end;
end;
procedure TstockINfm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if Ado_MaterialIn.State in [dsInsert,dsEdit] then
// if Ado_Material.Modified then
begin
if MessageBox(Handle, PChar('数据未保存,确定要退出吗?'), MsgQst, Msg2YNWARN) = IDYES then
Action:=caHide
// end
else
Action:=caNone;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -