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

📄 mrwx_bjrk_tj.~pas

📁 明日腾龙编修管理系统,对于做相关软件的朋友是一个非常好的参考
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
         end;
         mr_wxbj_rk.adotable2.insertrecord([date,dbcombobox1.text,
                       dbcombobox3.text,dbedit4.text,dbedit5.text,
                       dbcombobox2.text,dbedit8.text,nil,dbedit9.text,nil,
                       dbedit11.text,mr_wxbj_rk.adotable1.fieldbyname('数量').asinteger,
                       dbedit12.text,dblookupcombobox5.text,nil,mr_wxbj_rk.combobox3.text]);
         mr_wxbj_rk.ADOTable3.Insert;
         mr_wxbj_rk.adotable3.fieldbyname('日期').asdatetime:=date;
         dbcombobox1.setfocus;  }
end;

procedure TMR_WXBJRK_TJ.DBEdit8KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then begin
   if (activecontrol is Tdbedit) then
     Perform(WM_nextdlgctl,0,0);
end;
if key<>#8 then begin
  if (key>'9') or (key<'0') then key:=#0;
end;
end;

procedure TMR_WXBJRK_TJ.DBEdit9KeyPress(Sender: TObject; var Key: Char);
var i:integer;
begin
if key=#13 then begin
   if (activecontrol is Tdbedit) then
     Perform(WM_nextdlgctl,0,0);
end;
if key<>#8 then begin
    if key='.' then begin
        for i:=1 to length(tdbedit(sender).text) do   begin
            if tdbedit(sender).text[i]='.' then key:=#0;
        end;
    end else begin
        if (key>'9') or (key<'0') then key:=#0;
    end;
end;
end;

procedure TMR_WXBJRK_TJ.DBEdit8Exit(Sender: TObject);
begin
Tdbedit(sender).color:=clwindow;
if mr_wxbj_rk.adotable1.Locate('物品名称;型号;规格;部门',vararrayof([dbcombobox1.text,
    dbcombobox3.text,dbedit4.text,mr_wxbj_rk.combobox3.text]),[loCaseInsensitive]) then begin
     if strtoint(dbedit8.text)+mr_wxbj_rk.ADOTable1.FieldByName('数量').asinteger
          >mr_wxbj_rk.adotable1.fieldbyname('提示上限').asinteger then begin
                showmessage('该备件的库存数量以超出了提示上限,请三思。');
     end;
end else begin
     if strtoint(dbedit8.text)>mr_wxform.adotable2.fieldbyname('库存上限').asinteger then begin
                showmessage('该备件的库存数量以超出了提示上限,请三思。');
     end;
end;
if dbedit8.text='' then dbedit8.text:='0';
if dbedit9.text='' then dbedit9.text:='0';
mr_wxbj_rk.adotable3.fieldbyname('金额').asfloat:=strtofloat(dbedit9.text)*
             strtoint(dbedit8.text);
end;

procedure TMR_WXBJRK_TJ.BitBtn2Click(Sender: TObject);
var bian:string;  bian1:integer;
    ke:string; i:integer;
begin
if (dbedit11.Text='') or (dbedit11.text='0') then begin
    showmessage('金额不能为空或为0,请察看您的入库单价和数量!');
    dbedit8.setfocus;
    exit;
end;
if  dbcombobox1.text='' then begin
    showmessage('请输入维修物品名称.');
    dbcombobox1.SetFocus;
    exit;
end;
if  dbcombobox3.text='' then begin
    showmessage('请选择或输入物品型号.');
    dbcombobox3.setfocus;
    exit;
end;
if  dbcombobox2.Text='' then begin
    showmessage('请选择或输入商家信息.');
    dbcombobox2.setfocus;
    exit;
end;
if  dblookupcombobox5.Text='' then begin
    showmessage('请选择经手人.');
    dblookupcombobox5.SetFocus;
    exit;
end;
   adoquery1.Close;
   adoquery1.SQL.clear;
   adoquery1.SQL.Add('select * from 备件基本信息');
   adoquery1.Open;
   adoquery1.last;
   ke:=adoquery1.fieldbyname('备件编号').asstring;    
   if not adoquery1.Locate('备件名称;备件名称;备件型号',vararrayof([dbcombobox1.text,
      dbcombobox3.text,dbedit4.text]),[loCaseInsensitive]) then begin
         if ke='' then ke:='000001' else begin
            ke:=inttostr(strtoint(ke)+1);
            for i:=1 to 6-length(ke) do begin
               ke:='0' + ke;
            end;
         end;
         adoquery1.Append;
         adoquery1.FieldByName('备件编号').asstring:=ke;
         adoquery1.fieldbyname('备件名称').asstring:=dbcombobox1.text;
         adoquery1.FieldByName('备件型号').asstring:=dbcombobox3.text;
         adoquery1.FieldByName('备件规格').asstring:=dbedit4.text;
         adoquery1.Post;
   end;
   adoquery2.Last;
   ke:=adoquery2.fieldbyname('商家编号').asstring;
   if not adoquery2.Locate('商家名称',dbcombobox2.text,[loCaseInsensitive]) then begin
       if ke='' then ke:='000001' else begin
           ke:=inttostr(strtoint(ke)+1);
           for i:=1 to 6-length(ke) do begin
               ke:='0'+ke;
           end;
       end;
       adoquery2.Append;
       adoquery2.FieldByName('商家编号').asstring:=ke;
       adoquery2.FieldByName('商家名称').asstring:=dbcombobox2.text;
       adoquery2.Post;
   end;
         mr_wxbj_rk.adotable3.FieldByName('部门').asstring:=mr_wxbj_rk.ComboBox3.text;
         MR_WXBJ_RK.adotable3.Post;
         if mr_wxbj_rk.adotable1.locate('物品名称;型号;规格;部门',
               vararrayof([dbcombobox1.text,dbcombobox3.text,dbedit4.text,mr_wxbj_rk.combobox3.text]),
               [loCaseInsensitive]) then begin
                   mr_wxbj_rk.adotable1.Edit;
                   mr_wxbj_rk.adotable1.FieldByName('数量').asinteger:=
                       mr_wxbj_rk.adotable1.FieldByName('数量').asinteger+
                       strtoint(dbedit8.text)-
                       strtoint(dbedit12.text);
                   mr_wxbj_rk.adotable1.FieldByName('库存金额').asfloat:=
                       mr_wxbj_rk.adotable1.FieldByName('库存金额').asfloat+
                       strtofloat(dbedit11.text);
                   mr_wxbj_rk.adotable1.fieldbyname('平均单价').asfloat:=
                       mr_wxbj_rk.adotable1.fieldbyname('库存金额').asfloat/
                       mr_wxbj_rk.adotable1.fieldbyname('数量').asfloat;
                   mr_wxbj_rk.adotable1.Post;
         end else begin
                   mr_wxbj_rk.adotable1.Last;
                   bian:=mr_wxbj_rk.adotable1.fieldbyname('编号').asstring;
                   if bian='' then begin
                       bian:='000001';
                   end else begin
                       bian:=inttostr(strtoint(bian)+1);
                       for bian1:=1 to 6-length(bian) do begin
                           bian:='0'+bian;
                       end;
                   end;
                   mr_wxbj_rk.adotable1.InsertRecord([bian,dbcombobox1.text,
                       dbcombobox3.text,dbedit4.text,dbedit5.text,
                       strtoint(dbedit8.text)-strtoint(dbedit12.text),
                       dbedit9.text,dbedit11.text,
                       mr_wxform.adotable2.fieldbyname('库存上限').asinteger,
                       mr_wxform.adotable2.fieldbyname('库存下限').asinteger,
                       mr_wxbj_rk.combobox3.text]);
         end;
         mr_wxbj_rk.adotable2.insertrecord([date,dbcombobox1.text,
                       dbcombobox3.text,dbedit4.text,dbedit5.text,
                       dbcombobox2.text,dbedit8.text,nil,dbedit9.text,nil,
                       dbedit11.text,mr_wxbj_rk.adotable1.fieldbyname('数量').asinteger,
                       dbedit12.text,dblookupcombobox5.text,nil,mr_wxbj_rk.combobox3.text]);
         close;
end;

procedure TMR_WXBJRK_TJ.DBEdit9Exit(Sender: TObject);
begin
Tdbedit(sender).color:=clwindow;
if dbedit8.text='' then dbedit8.text:='0';
if dbedit9.text='' then dbedit9.text:='0';
mr_wxbj_rk.adotable3.fieldbyname('金额').asfloat:=strtofloat(dbedit9.text)*
             strtoint(dbedit8.text);

end;

procedure TMR_WXBJRK_TJ.DataSource4DataChange(Sender: TObject;
  Field: TField);
begin
{    if adotable4.RecordCount<>0 then begin
        if adotable4.FieldByName('金额').asfloat<=adotable4.fieldbyname('提示下限').asfloat then begin
            showmessage('该款项的金额以低于提示下限,请三思.');
        end;
    end;}
end;

procedure TMR_WXBJRK_TJ.FormShow(Sender: TObject);
begin
    adotable1.First;
    dbcombobox1.Items.Clear;
    while not adotable1.Eof do begin
        dbcombobox1.Items.Add(adotable1.fieldbyname('备件名').asstring);
        adotable1.Next;
    end;
    adoquery2.First;
    dbcombobox2.Items.Clear;
    while not adoquery2.Eof do begin
        dbcombobox2.Items.Add(adoquery2.fieldbyname('商家名称').asstring);
        adoquery2.Next;
    end;
end;

procedure TMR_WXBJRK_TJ.DBComboBox1Exit(Sender: TObject);
begin
if dbcombobox1.Text<>'' then begin
    if not adotable1.Locate('备件名',dbcombobox1.text,[loCaseInsensitive]) then begin
         adotable1.InsertRecord([dbcombobox1.text]);
         dbcombobox1.Items.Add(dbcombobox1.text);
    end;
end;
   mr_wxbj_rk.ADOTable3.FieldByName('入库方式').asstring:='买入';
   mr_wxbj_rk.ADOTable3.FieldByName('入库数量').asinteger:=0;
   mr_wxbj_rk.adotable3.FieldByName('入库单价').asfloat:=0;
   mr_wxbj_rk.ADOTable3.FieldByName('损耗').asinteger:=0;
end;

procedure TMR_WXBJRK_TJ.DBComboBox1Change(Sender: TObject);
begin
    adoquery1.Close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.add('select * from 备件基本信息 where 备件名称='''+dbcombobox1.Text+'''');
    adoquery1.Open;
    adoquery1.First;
    dbcombobox3.Items.Clear;
    while not adoquery1.Eof do begin
        dbcombobox3.Items.Add(adoquery1.fieldbyname('备件型号').asstring);
        adoquery1.Next;
    end;
    dbcombobox3.Text:='';
    mr_wxbj_rk.ADOTable3.FieldByName('规格').asstring:='';
    mr_wxbj_rk.ADOTable3.FieldByName('单位').asstring:='';
end;

procedure TMR_WXBJRK_TJ.DBComboBox3Change(Sender: TObject);
begin
if adoquery1.Locate('备件型号',dbcombobox3.text,[loCaseInsensitive]) then begin
   mr_wxbj_rk.ADOTable3.FieldByName('规格').asstring:=
              ADOQuery1.fieldbyname('备件规格').asstring;
   mr_wxbj_rk.ADOTable3.FieldByName('单位').asstring:=
              adoquery1.fieldbyname('单位').asstring;
   mr_wxbj_rk.ADOTable3.FieldByName('入库方式').asstring:='买入';
   mr_wxbj_rk.ADOTable3.FieldByName('入库数量').asinteger:=0;
   mr_wxbj_rk.adotable3.FieldByName('入库单价').asfloat:=0;
   mr_wxbj_rk.ADOTable3.FieldByName('损耗').asinteger:=0;
end;
end;

end.

⌨️ 快捷键说明

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