⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 中鼎百货进销存系统
💻 PAS
📖 第 1 页 / 共 5 页
字号:
   sql:='Select Cus_NO,General_Mng,Cus_addr,TeleNO,Cus_Name,Area_type from Custom where cus_no ='''+Combobox8.text+'''';
   ADO_Out_temp.Close;
   ADO_Out_temp.SQL.Clear;
   ADO_Out_temp.SQL.Add(sql);
   ADO_Out_temp.Open;

   combobox9.Clear;
   While not ADO_Out_temp.Eof do
   begin
     s_cus_name:=ADO_Out_temp.FieldByName('Cus_Name').AsString;
     combobox9.Items.Add(s_cus_name);
     ADO_Out_temp.Next;
   end;

   combobox9.Text:=ADO_Out_temp.FieldByName('Cus_Name').AsString;
   edit3.Text:= ADO_Out_temp.FieldByName('Area_type').AsString;
   khdz.Text:= ADO_Out_temp.FieldByName('Cus_addr').AsString;
   fzr.Text:= ADO_Out_temp.FieldByName('General_Mng').AsString;
   dh.Text:= ADO_Out_temp.FieldByName('TeleNO').AsString;
end;
procedure TForm1.ComboBox10Click(Sender: TObject);
var
 sql,S_Quality:string;
begin
   combobox11.Clear;
   sql:='Select distinct Quality from ShopName where ManuFactory='''+combobox10.Text+'''';
   ADO_Out_Temp.Close;
   ADO_Out_Temp.SQL.Clear;
   ADO_Out_Temp.SQL.Add(sql);
   ADO_Out_Temp.Open;
   While not ADO_Out_Temp.Eof do
   begin
     S_Quality:=ADO_Out_Temp.FieldByName('Quality').AsString;
     combobox11.Items.Add(S_Quality);
     ADO_Out_Temp.Next;
   end;
end;
procedure TForm1.ComboBox11Click(Sender: TObject);
var
 sql,S_Size:string;
begin

   combobox13.Clear;
   sql:='Select distinct Shop_size from ShopName where Quality='''+combobox11.Text+''' and ManuFactory='''+combobox10.Text+'''';
   ADO_Out_Temp.Close;
   ADO_Out_Temp.SQL.Clear;
   ADO_Out_Temp.SQL.Add(sql);
   ADO_Out_Temp.Open;
   While not ADO_Out_Temp.Eof do
   begin
     S_Size:=ADO_Out_Temp.FieldByName('Shop_size').AsString;
     combobox13.Items.Add(S_Size);
     ADO_Out_Temp.Next;
   end;

 end;
procedure TForm1.ComboBox13Click(Sender: TObject);
var
 sql,sql1,sql2,sql3,S_ShopName:string;
begin
    combobox14.Clear;
   sql:='Select Package_num,Shop_NO from ShopName where ManuFactory='''+Combobox10.Text+''' and Quality='''+combobox11.Text+''' and shop_size='''+combobox13.Text+'''';
   ADO_Out_Temp.Close;
   ADO_Out_Temp.SQL.Clear;
   ADO_Out_Temp.SQL.Add(sql);
   ADO_Out_Temp.Open;
   While not ADO_Out_Temp.Eof do
   begin
     S_ShopName:=ADO_Out_Temp.FieldByName('Package_num').AsString;
     combobox14.Items.Add(S_ShopName);
     ADO_Out_Temp.Next;
   end;
  tiaoma.Text:= ADO_Out_Temp.FieldByName('Shop_NO').AsString;

  //计算库存
  edit29.Text:='';
  ADO_Out_Temp.Close;
  ADO_Out_Temp.sql.clear;
  sql1:='SELECT Pzsize as 产品名称, sum(inputnum) AS 库存量 FROM (SELECT Pzsize, sum(cellnum) AS inputnum FROM inputcell where Pzsize=:S_pzsize GROUP BY Pzsize';
  sql2:=' UNION ALL select Pzsize,-sum(cellnum) as outputnum from outputcell where Pzsize=:S_pz group by Pzsize';
  sql3:=' UNION ALL select Pzsize,sum(cellnum) as outputnum from Cancelcell where Pzsize=:S_pzs group by Pzsize) A GROUP BY Pzsize';
  sql:=sql1+sql2+sql3;
  ADO_Out_Temp.SQL.Add(sql);
  ADO_Out_Temp.Parameters.ParamByName('S_pzsize').Value:=combobox13.Text;
  ADO_Out_Temp.Parameters.ParamByName('S_pz').Value:=combobox13.Text;
  ADO_Out_Temp.Parameters.ParamByName('S_pzs').Value:=combobox13.Text;
  ADO_Out_Temp.Open;
  DBGridAutoSize(DBGrid2);
  if ADO_Out_Temp.RecordCount>0 then
  edit29.Text:=inttostr(ADO_Out_Temp.FieldByName('库存量').asinteger);

end;
procedure TForm1.Button34Click(Sender: TObject);
var
sql,sql1,sql2:string;
s_manufactory,s_quality,S_size,S_package,S_user,S_cusno,s_cusname,S_shopNO:string;
S_outputdate:Tdatetime;
S_cellnum,S_timelimit:integer;
S_price:real;
S_Jiner:real;
S_Area,s_unit,S_Paytype:string;
begin
try
orderno:=10000000+strtofloat(Inttostr(Random(9))+Inttostr(Random(9))+Inttostr(Random(9))+Inttostr(Random(9))+Inttostr(Random(9))+Inttostr(Random(9))+Inttostr(Random(9))+Inttostr(Random(9)));
s_manufactory:=combobox10.Text;
s_quality:=combobox11.Text;
S_size:=combobox13.Text;
S_package:= combobox14.Text;
S_user:=combobox15.Text;
S_outputdate:=DateTimePicker2.Date;
S_cellnum:=strtoint(edit19.text);
S_price:=strtofloat(Format('%.2f',[strtofloat(edit20.text)]));
S_cusno:=combobox8.Text;
s_cusname:=combobox9.Text;
Edit21.Text:=floattostr((S_price*S_cellnum));
S_Jiner:=strtofloat(Format('%.2f',[strtofloat(edit21.text)]));
S_Area:=edit3.text;
S_shopNO:=tiaoma.Text;
S_Paytype:=combobox36.Text;
S_timelimit:=strtoint(edit36.text);
s_unit:= '支';
//先检查是否超过11条
sql:='select * from OutPrint';
ADO_Check11.Close;
ADO_Check11.SQL.Clear;
ADO_Check11.SQL.Add(sql);
ADO_Check11.Open;
if ADO_Check11.RecordCount<=10 then
begin
sql1:='InSert Into Outprint(ManuFactory,Quality,Pzsize,Shop_NO,packagenum,cellnum,price,Jiner,Pzuser,Outputdate,Cus_NO,Cus_Name,Area_type,s_unit) ';
sql2:='values(:S_manufactory,:s_quality,:S_size,:S_shopNO,:S_package,:S_cellnum,:S_price,:S_Jiner,:S_user,:S_Outputdate,:S_Cusno,:S_CusName,:S_Area,:S_unit)' ;
sql:=sql1+sql2;
ADO_Print.Close;
ADO_Print.SQL.Clear;
ADO_Print.SQL.Add(sql1+sql2);

ADO_Print.Parameters.ParamByName('S_manufactory').Value:=s_manufactory;
ADO_Print.Parameters.ParamByName('s_quality').Value:=s_quality;
ADO_Print.Parameters.ParamByName('S_size').Value:=S_size;
ADO_Print.Parameters.ParamByName('S_shopNO').Value:=S_shopNO;
ADO_Print.Parameters.ParamByName('S_package').Value:=S_package;
ADO_Print.Parameters.ParamByName('S_cellnum').Value:=S_cellnum;
ADO_Print.Parameters.ParamByName('S_price').Value:=S_price;
ADO_Print.Parameters.ParamByName('S_Jiner').Value:=S_Jiner;
ADO_Print.Parameters.ParamByName('S_user').Value:=S_user;
ADO_Print.Parameters.ParamByName('S_outputdate').Value:=S_Outputdate;
ADO_Print.Parameters.ParamByName('S_Cusno').Value:=S_cusno;
ADO_Print.Parameters.ParamByName('S_CusName').Value:=s_cusname;
ADO_Print.Parameters.ParamByName('S_Area').Value:=S_Area;
ADO_Print.Parameters.ParamByName('S_unit').Value:=s_unit;
ADO_Print.ExecSQL;

sql1:='Select ID as 出库编号, Cus_NO as 客户编号,Cus_Name as 客户名称,ManuFactory as 生产厂家,Quality as 产品类别,Pzsize as 产品名称,Shop_NO as 产品条码,packagenum as 包装规格,CellNum as 数量,Price as 单价,Jiner as 金额,PzUser as 经手人 from OutPrint';
sql2:=' union select :orderno,''合计'',''  '','' '','' '','' '','' '','' '',''  '',''   '',sum(jiner),''    '' from OutPrint';
sql:=sql1+sql2;
ADO_Print.Close;
ADO_Print.SQL.Clear;
ADO_Print.SQL.Add(sql);
ADO_Print.Parameters.ParamByName('orderno').Value:=orderno;

ADO_Print.Open;
DBGridAutoSize(DBGrid5);
ChangeDbGridColColor(DBGrid5);
if ADO_Print.RecordCount>0 then
DBEdit5.DataField:='出库编号';
ADO_Print.Last;
DBEdit6.DataField:='金额';


sql1:='InSert Into OutputCell(ManuFactory,Quality,Pzsize,Shop_NO,packagenum,cellnum,price,Jiner,Pzuser,Outputdate,Cus_NO,Cus_Name,Area_type,pay_type,time_limit) ';
sql2:='values(:S_manufactory,:s_quality,:S_size,:S_shopNO,:S_package,:S_cellnum,:S_price,:S_Jiner,:S_user,:S_Outputdate,:S_Cusno,:S_CusName,:S_Area,:pay_type,:time_limit)' ;
ADO_Output.Close;
ADO_Output.SQL.Clear;
ADO_Output.SQL.Add(sql1+sql2);

ADO_Output.Parameters.ParamByName('S_manufactory').Value:=s_manufactory;
ADO_Output.Parameters.ParamByName('s_quality').Value:=s_quality;
ADO_Output.Parameters.ParamByName('S_size').Value:=S_size;
ADO_Output.Parameters.ParamByName('S_shopNO').Value:=S_shopNO;
ADO_Output.Parameters.ParamByName('S_package').Value:=S_package;
ADO_Output.Parameters.ParamByName('S_cellnum').Value:=S_cellnum;
ADO_Output.Parameters.ParamByName('S_price').Value:=S_price;
ADO_Output.Parameters.ParamByName('S_Jiner').Value:=S_Jiner;
ADO_Output.Parameters.ParamByName('S_user').Value:=S_user;
ADO_Output.Parameters.ParamByName('S_outputdate').Value:=S_Outputdate;
ADO_Output.Parameters.ParamByName('S_Cusno').Value:=S_cusno;
ADO_Output.Parameters.ParamByName('S_CusName').Value:=s_cusname;
ADO_Output.Parameters.ParamByName('S_Area').Value:=S_Area;
ADO_Output.Parameters.ParamByName('pay_type').Value:=S_paytype;
ADO_Output.Parameters.ParamByName('time_limit').Value:=S_timelimit;
ADO_Output.ExecSQL;

sql1:='Select ID as 出库编号, Cus_NO as 客户编号,Cus_Name as 客户名称,ManuFactory as 生产厂家,Quality as 产品类别,Pzsize as 产品名称,Shop_NO as 产品条码,packagenum as 包装规格,CellNum as 数量,Price as 单价,Jiner as 金额,PzUser as 经手人 from OutputCell';
sql2:=' union select :orderno,''合计'',''  '','' '','' '','' '','' '','' '',''  '',''   '',sum(jiner),''    '' from OutputCell';
ADO_Output.Close;
ADO_Output.SQL.Clear;
ADO_Output.SQL.Add(sql1+sql2);
ADO_Output.Parameters.ParamByName('orderno').Value:=orderno;
ADO_Output.Open;
if ADO_Output.RecordCount>0 then
DBEdit4.DataField:='出库编号';

DBGridAutoSize(DBGrid3);
ChangeDbGridColColor(DBGrid3);
end else
application.MessageBox('开单一次不能超过11项!,原因:打印纸每张最大限额','提示',0);
except
application.MessageBox('增加出库数据失败','提示',0);
end;
end;
procedure TForm1.Button35Click(Sender: TObject);
var
sql,sql1,sql2:string;
Cur_ID:integer;
begin
 if messagedlg('删除该出库资料吗?',mtconfirmation,[mbyes,mbno],0)=mryes then
  begin
    if MyFocus=1 then
    begin
     Cur_ID:=strtoint(DBedit4.text);
     sql:='delete from OutputCell where ID=:curid';
     ADO_Output.Close;
     ADO_Output.SQL.Clear;
     ADO_Output.SQL.Add(sql);
     ADO_Output.Parameters.ParamByName('curid').Value:=Cur_ID;
     ADO_Output.ExecSQL;
     sql1:='Select ID as 出库编号, Cus_NO as 客户编号,Cus_Name as 客户名称,ManuFactory as 生产厂家,Quality as 产品品类,Pzsize as 产品名称,packagenum as 包装规格,CellNum as 数量,Price as 单价,PzUser as 经手人 from OutputCell';
     ADO_OutPut.Close;
     ADO_OutPut.SQL.Clear;
     ADO_OutPut.SQL.Add(sql1);
     ADO_OutPut.Open;
     ADO_OutPut.Requery();
     ChangeDbGridColColor(DBGrid3);
    end;

    if MyFocus=2 then
    begin
     Cur_ID:=strtoint(DBedit5.text);
     sql:='delete from OutPrint where ID=:curid';
     ADO_Print.Close;
     ADO_Print.SQL.Clear;
     ADO_Print.SQL.Add(sql);
     ADO_Print.Parameters.ParamByName('curid').Value:=Cur_ID;
     ADO_Print.ExecSQL;

     sql1:='Select ID as 出库编号, Cus_NO as 客户编号,Cus_Name as 客户名称,ManuFactory as 生产厂家,Quality as 产品品类,Pzsize as 产品名称,packagenum as 包装规格,CellNum as 数量,Price as 单价,Jiner as 金额,PzUser as 经手人 from OutPrint';
     ADO_Print.Close;
     ADO_Print.SQL.Clear;
     ADO_Print.SQL.Add(sql1);
     ADO_Print.Open;
     ChangeDbGridColColor(DBGrid5);
    end;
 end;
end;

procedure TForm1.ComboBox16Click(Sender: TObject);
var
quality:string;
begin
 ADO_Input.Close;
 ADO_Input.SQL.Clear;
 ADO_Input.sql.Add('select distinct Quality from shopName where ManuFactory='''+Combobox16.Text+'''');
 ADO_Input.Open;

 Combobox4.Clear;
 while not ADO_Input.Eof do
 begin
  quality:=ADO_Input.FieldByName('Quality').AsString;
  Combobox4.Items.Add(quality);
  ADO_Input.Next;
 end;
end;

procedure TForm1.ComboBox17Click(Sender: TObject);
var
quality:string;
begin
 ADO_Input.Close;
 ADO_Input.SQL.Clear;
 ADO_Input.sql.Add('select distinct Quality from shopName where ManuFactory='''+Combobox17.Text+'''');
 ADO_Input.Open;

 Combobox6.Clear;
 while not ADO_Input.Eof do
 begin
  quality:=ADO_Input.FieldByName('Quality').AsString;
  Combobox6.Items.Add(quality);
  ADO_Input.Next;
 end;
end;


procedure TForm1.DBGrid3CellClick(Column: TColumn);
begin
MyFocus:=1;
end;

procedure TForm1.DBGrid5CellClick(Column: TColumn);
begin
MyFocus:=2;
end;

procedure TForm1.Button39Click(Sender: TObject);
var
sql:string;
S_inputdate:Tdatetime;
begin
try
   S_inputdate:=DateTimePicker3.Date;
   sql:='InSert into FeeStyle(FeeStyle,num,usedfor,use_date) values(:Feestyle,:num,:usedfor,:use_date)';
   ADO_fee.Close;
   ADO_fee.SQL.Clear;
   ADO_fee.SQL.Add(sql);
   ADO_fee.Parameters.ParamByName('Feestyle').Value:=Combobox21.Text;
   ADO_fee.Parameters.ParamByName('num').Value:=strtoint(edit24.Text);
   ADO_fee.Parameters.ParamByName('usedfor').Value:=edit22.Text;
   ADO_fee.Parameters.ParamByName('use_date').Value:=S_inputdate;
   ADO_fee.ExecSQL;

   sql:='select id as 序号,FeeStyle as 费用类别,num as 费用金额,usedfor as 用途,use_date as 支出日期 from FeeStyle';
   ADO_fee.Close;
   ADO_fee.SQL.Clear;
   ADO_fee.SQL.Add(sql);
   ADO_fee.Open;
   dbedit8.DataField:='序号';
except
 application.MessageBox('增加费用失败','提示',0);
end;
end;

procedure TForm1.Edit24Exit(Sender: TObject);
begin
try
strtoint(Edit24.Text);
except
application.MessageBox('请输入数字!','提示',0);
end;
end;

procedure TForm1.Button36Click(Sender: TObject);
var
sql:string;
begin
sql:='Select ID as 出库编号, Cus_NO as 客户编号,Cus_Name as 客户名称,ManuFactory as 生产厂家,Quality as 产品类别,Pzsize as 产品名称,packagenum as 包装规格,CellNum as 数量,Price as 单价,Jiner as 金额,PzUser as 经手人 from OutPrint';
ADO_Print.Close;
ADO_Print.SQL.Clear;
ADO_Print.SQL.Add(sql);
ADO_Print.Open;
end;

Procedure TForm1.AddNilRecord(cur_record:integer);
var
i:integer;
s,sql:string;
begin
s:='';
sql:='insert into OutPrint(Manufactory) values('''+s+''')';
 for i:=1 to 11-cur_record do
  begin
   ADO_Out_Temp.close;
   ADO_Out_Temp.sql.Clear;
   ADO_Out_Temp.sql.Add(sql);
   ADO_Out_Temp.ExecSQL;
  end;
end;
procedure TForm1.Button41Click(Sender: TObject);
var
S_jiner:string;
recount,ipos,i:integer;
s_single:array[1..8] of string;
totalstr:string;
S_Money:string;
begin
try
//先检查是否有11条
 ADO_Out_Temp.close;
 ADO_Out_Temp.sql.Clear;
 ADO_Out_Temp.sql.Add('select * from OutPrint');
 ADO_Out_Temp.Open;
 recount:= ADO_Out_Temp.RecordCount;
 AddNilRecord(recount);

//edit25.Text:=copy(RMBChange(9),1,2);
form8.ConnectDataBase;
if ADO_Print.RecordCount>0 then
begin
 form8.ADOQuery2.close;
 form8.ADOQuery2.sql.Clear;
 form8.ADOQuery2.sql.Add('delete * from temp');
 form8.ADOQuery2.ExecSQL;


 form8.ADOQuery2.close;
 form8.ADOQuery2.sql.Clear;
 form8.ADOQuery2.sql.Add('insert into temp select top 11 * from Outprint');
 form8.ADOQuery2.ExecSQL;

 form8.ADOQuery1.close;
 form8.ADOQuery1.sql.Clear;
 form8.ADOQuery1.sql.Add('select * from temp');
 form8.ADOQuery1.Open;

 dbedit6.DataField:='金额';
 ADO_Print.Last;

 S_Jiner:=Format('%.2f',[strtofloat(dbedit6.text)]);
 form8.QRLabel25.Caption:=S_Jiner;
 S_Money:=RMBChange(strtocurr(S_Jiner));
 form8.QRLabel27.Caption:=S_Money;
 form8.QRLabel28.Caption:=dbedit5.Text;
 form8.QRLabel29.Caption:=combobox8.Text;
 form8.QRLabel30.Caption:=datetostr(DateTimePicker2.Date);
 form8.QRLabel33.Caption:=combobox9.Text;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -