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

📄 xs.pas

📁 电脑公司销售、财务管理子系统 本文重点研究的是电脑公司管理信息系统
💻 PAS
📖 第 1 页 / 共 4 页
字号:
      ComboBox1.Items.Add(FieldByName('PartName').AsString);
      Next;
    end;
  end;
end;

procedure TxsForm.ComboBox1Change(Sender: TObject);
//2ComboBox1的OnChange事件,主要完成在ComboBox2的Items里添加产品型号的功能
begin
  ComboBox2.Text:='请选择';
  ComboBox2.Items.Clear;
  with DM.ADOStoredProc_PartType do
  begin
    Close;
    Parameters[0].Value:=Trim(Combobox1.Text);
    Open;
    while not Eof do
    begin
      ComboBox2.Items.Add(FieldByName('PartType').AsString);
      Next;
    end;
  end;
end;

procedure TxsForm.ComboBox2Change(Sender: TObject);
//3ComboBox2的OnChange事件,主要完成得到PartId(产品编号)的功能
begin
  with DM.ADOStoredProc_PartId do
  begin
    Edit19.Clear;
    Close;
    Parameters[0].Value:=Trim(Combobox1.Text);
    Parameters[1].Value:=Combobox2.Text;
    Open;
    if RecordCount>0 then
      Edit19.Text:=FieldByName('PartId').AsString;
  end;
  Label133.Visible:=True;   Edit19.Visible:=True;
  Label4.Visible:=True;     DBImage1.Visible:=True;
end;

procedure TxsForm.Button1Click(Sender: TObject);
//4库存查询按钮的OnClick事件,完成显示库存数量的功能
var label5cpt:string;
begin
  if (ComboBox1.Text='') or (ComboBox1.Text='请选择') then
    showmessage('请选择一种产品!')
  else if (ComboBox2.Text='') or (ComboBox2.Text='请选择') then
    showmessage('请选择产品的一种型号!')
  else
  with DM.ADOStoredProc_PartNumber do
  begin
    Close;
    Parameters[0].Value:=Edit19.Text;
    Open;
    label5cpt:='配件名称:'+Trim(ComboBox1.Text);
    label5cpt:=label5cpt+'、'+'配件型号:'+ComboBox2.Text;
    label5cpt:=label5cpt+' 库存总数量为';
    Label5.Width:=505;
    Label5.Caption:=label5cpt+FieldByName('Number').AsString+'!!!!!!!!';
    showmessage(label5cpt+FieldByName('Number').AsString);
  end;
end;

procedure TxsForm.DBEdit3Exit(Sender: TObject);
//5DBEdit3(产品型号)的OnExit事件,完成对DBEdit1(产品编号)的自动编号
var
  partid_auto,tempstr:string;
  tempint:Integer;
begin
  with DM.ADOStoredProc_PartId do
  begin
    Close;
    Parameters[0].Value:=DBEdit2.Text;
    Parameters[1].Value:=DBEdit3.Text;
    Open;
  end;
  if DM.ADOStoredProc_PartId.RecordCount=0 then
    if DBEdit2.Text='' then
    begin
      showmessage('请填写产品名称!');
      DBEdit2.SetFocus;
    end
    else if DBEdit3.Text='' then
    begin
      showmessage('请填写产品型号!');
      DBEdit3.SetFocus;
    end
    else
    begin
      DM.ADOQuery_xxxg.Close;
      DM.ADOQuery_xxxg.SQL.Clear;
      DM.ADOQuery_xxxg.SQL.Add('select * from PartName where PartName=:partname');
      DM.ADOQuery_xxxg.SQL.Add('order by PartId desc');
      DM.ADOQuery_xxxg.Parameters.ParamByName('partname').Value:=Trim(DBEdit2.Text);
      DM.ADOQuery_xxxg.Open;
      if DM.ADOQuery_xxxg.RecordCount>0 then
      begin
        partid_auto:=Copy(DM.ADOQuery_xxxg.FieldByName('PartId').AsString,1,2);
        tempstr:=Copy(DM.ADOQuery_xxxg.FieldByName('PartId').AsString,3,3);
        tempint:=StrToInt(tempstr);
        tempint:=tempint+1;
        if tempint<10 then
          partid_auto:=partid_auto+'00'+IntToStr(tempint)
        else if tempint<100 then
          partid_auto:=partid_auto+'0'+IntToStr(tempint)
        else if tempint<1000 then
          partid_auto:=partid_auto+IntToStr(tempint);
        DBEdit1.Text:=partid_auto;
      end
      else //DM.ADOQuery_xxxg.RecordCount=0
      begin
        DM.ADOQuery_xxxg.Close;
        DM.ADOQuery_xxxg.SQL.Clear;
        DM.ADOQuery_xxxg.SQL.Add('select * from PartName');
        DM.ADOQuery_xxxg.SQL.Add('order by PartId desc');
        DM.ADOQuery_xxxg.Open;
        tempstr:=Copy(DM.ADOQuery_xxxg.FieldByName('PartId').AsString,1,2);
        tempint:=StrToInt(tempstr);
        tempint:=tempint+1;
        if tempint<10 then
          partid_auto:='0'+IntToStr(tempint)+'001'
        else if tempint<100 then
          partid_auto:=IntToStr(tempint)+'001';
        DBEdit1.Text:=partid_auto;
      end;
    end;

end;

procedure TxsForm.Label10Click(Sender: TObject);
//8信息修改页面的修改图片LabelOnClick事件
begin
  if OpenPictureDialog1.Execute then
  begin
    DM.XxQuery.Edit;
    DBImage2.Picture.LoadFromFile(OpenPictureDialog1.FileName);
    DM.XxQuery.Post;
  end;
end;

procedure TxsForm.TabSheet3Enter(Sender: TObject);
//9产品报价页面的OnEnter事件
begin
  ComboBox11.Items.Clear;               ComboBox12.Items.Clear;
  ComboBox13.Items.Clear;
  ComboBox_cpmc.Items.Clear;            ComboBox_cpxh.Items.Clear;
  Edit17.Clear;                         Edit18.Clear;
  with DM.ADOStoredProc_PartName do
  begin
    Close;
    Open;
    while not Eof do
    begin
      ComboBox_cpmc.Items.Add(FieldByName('PartName').AsString);
      Next;
    end;
  end;
  with DM.CpbjQuery0 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select EmpId from Employee,Department');
    SQL.Add('where Employee.DepId=Department.DepId');
    SQL.Add('and Department.DepName=:dname001');
    Parameters.ParamByName('dname001').Value:='销售部';
    Open;
    while not Eof do
    begin
      ComboBox11.Items.Add(FieldByName('EmpId').AsString);
      ComboBox13.Items.Add(FieldByName('EmpId').AsString);
      Next;
    end;
  end;
end;

procedure TxsForm.ComboBox_cpmcChange(Sender: TObject);
//10产口报价页面的产品名称ComboBox的OnChange事件
begin
  ComboBox_cpxh.Clear;
  with DM.ADOStoredProc_PartType do
  begin
    Close;
    Parameters[0].Value:=Trim(ComboBox_cpmc.Text);
    Open;
    while not Eof do
    begin
      ComboBox_cpxh.Items.Add(FieldByName('PartType').AsString);
      Next;
    end;
  end;
end;

procedure TxsForm.ComboBox_cpxhChange(Sender: TObject);
//11产口报价页面的产品型号ComboBox的OnChange事件
begin
  with DM.ADOStoredProc_PartId do
  begin
    Close;
    Parameters[0].Value:=Trim(ComboBox_cpmc.Text);
    Parameters[1].Value:=ComboBox_cpxh.Text;
    Open;
    if RecordCount>0 then
      Edit_cpbh.Text:=FieldByName('PartId').AsString;
  end;
end;

procedure TxsForm.BitBtnlurubaojiaClick(Sender: TObject);
//12产品报价页面的录入报价按钮的OnClick事件
var message0:string;
begin
  if Trim(ComboBox_cpmc.Text)='' then
  //如果产品名称为空
  begin
    showmessage('产品名称不能为空!');
    ComboBox_cpmc.SetFocus;
  end
  else if Trim(ComboBox_cpxh.Text)='' then
  //如果产品型号为空
  begin
    showmessage('产品型号不能为空!');
    ComboBox_cpxh.SetFocus;
  end
  else if Trim(Edit18.Text)='' then
  //如果产品报价为空
  begin
    showmessage('产品报价不能为空!');
    Edit18.SetFocus;
  end
  else if Trim(ComboBox11.Text)='' then
  //如果报价员号为空
  begin
    showmessage('报价员号不能为空!');
    ComboBox11.SetFocus;
  end
  else
  begin
    with DM.CpbjQuery0 do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select * from BaoJia');
      SQL.Add('where PartId=:partid002 and PriceDate=:pricedate002');
      Parameters.ParamByName('partid002').Value:=Edit_cpbh.Text;
      Parameters.ParamByName('pricedate002').Value:=DateTimePickerbjrq.Date;
      Open;
      if  RecordCount>0 then
      //如果已经存在该产品当天的报价记录
      begin
        message0:='已存在配件编号为'+Edit_cpbh.Text;
        message0:=message0+ '报价日期为'+DateToStr(DateTimePickerbjrq.Date)+'的记录!';
        showmessage(message0);
      end
      else
      //如果不存在该产品当天的报价记录
      begin
        Close;
        SQL.Clear;
        SQL.Add('select * from BaoJia');
        Open;
        Append;
        FieldValues['PartId']:=Edit_cpbh.Text;
        FieldValues['PriceDate']:=DateTimePickerbjrq.Date;
        FieldValues['BaoPrice']:=Trim(Edit18.Text);
        FieldValues['EmpId']:=Trim(ComboBox11.Text);
        Post;
        showmessage('录入报价成功!');
      end;
    end;
  end;
end;

procedure TxsForm.BitBtn13Click(Sender: TObject);
//14产品报价页面中的开始查询按钮的OnClick事件
begin
  with DM.CpbjQuery1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select PartId as 配件编号,PriceDate as 报价日期,');
    SQL.Add('BaoPrice as 配件报价,EmpId as 报价员号 from BaoJia ');
    SQL.Add('where Pricedate >= :pricedate2 and Pricedate <= :pricedate3 ');
    Parameters.ParamByName('pricedate2').Value:=DateTimePickerBjrq2.Date;
    Parameters.ParamByName('pricedate3').Value:=DateTimePickerBjrq3.Date;
    //采用两个DateTimePicker控件来提取时间,且报价时间是必不可少的查询条件
    if Trim(ComboBox12.Text)<>'' then
    //如果产品编号不为空
    begin
      SQL.Add('and PartId=:partid003 ');
      Parameters.ParamByName('partid003').Value:=Trim(ComboBox12.Text);
    end;
    if Trim(ComboBox13.Text)<>'' then
    //如果报价员号不为空
    begin
      SQL.Add('and EmpId=:empid003 ');
      Parameters.ParamByName('empid003').Value:=Trim(ComboBox13.Text);
    end;
    Open;
    if RecordCount=0 then
    //如果符合查询条件的记录数为零
      showmessage('没有查找到符合条件的记录!');
  end;
end;

procedure TxsForm.BitBtn5Click(Sender: TObject);
//17销售录入页面的全部提交按钮的OnClick事件
begin
  if Editxm.Text='' then
  begin
    showmessage('顾客姓名不能为空!');
    Editxm.SetFocus;
  end
  else if ComboBoxxb.Text='' then
  begin
    showmessage('顾客性别不能为空!');
    ComboBoxxb.SetFocus;
  end
  else if Editxsqdbh.Text='' then
  begin
    showmessage('销售清单编号不能为空!');
    Editxsqdbh.SetFocus;
  end
  else if ComboBoxxsygbh.Text=''  then
  begin
    showmessage('销售员工编号不能为空!');
    ComboBoxxsygbh.SetFocus;
  end
  else
  begin
    with DM.SellerTable do
    //对销售总单表添加记录
    begin
      Open;
      Append;
      FieldByName('SellerId').Value:=Editxsqdbh.Text;
      FieldByName('EmpId').Value:=ComboBoxxsygbh.Text;
      FieldByName('Customer').Value:=Editxm.Text;
      FieldByName('CustSex').Value:=ComboBoxxb.Text;
      FieldByName('CustPhone').Value:=Editdh.Text;
      FieldByName('CustAddress').Value:=Editdz.Text;
      FieldByName('Total').Value:=Editxsjezj.Text;
      FieldByName('DateTime').Value:=DateTimePickerRQ.Date;
      Post;
    end;
    with DM.SellerPartsTable do
    //对销售明细表添加记录
    begin
      if (Editsl.Text<>'') and (Editsl.Text<>'0') then
      begin
        Open;
        Append;
        FieldByName('SellerId').Value:=Editxsqdbh.Text;
        FieldByName('PartName').Value:='品牌机';
        FieldByName('PartType').Value:=ComboBoxxh.Text;
        FieldByName('SellerNumber').Value:=Editsl.Text;
        FieldByName('SellPrice').Value:=Editjg.Text;
        FieldByName('DateTime').Value:=DateTimePickerRQ.Date;
        FieldByName('RepairPeriod').Value:=Editqx.Text;
        Post;
      end;
      if (Editcpusl.Text<>'') and (Editcpusl.Text<>'0') then
      begin
        Open;
        Append;
        FieldByName('SellerId').Value:=Editxsqdbh.Text;
        FieldByName('PartName').Value:='CPU';
        FieldByName('PartType').Value:=ComboBoxcpuxh.Text;
        FieldByName('SellerNumber').Value:=Editcpusl.Text;
        FieldByName('SellPrice').Value:=Editcpujg.Text;
        FieldByName('DateTime').Value:=DateTimePickerRQ.Date;
        FieldByName('RepairPeriod').Value:=Editcpuqx.Text;
        Post;
      end;
      if (Editzbsl.Text<>'') and (Editzbsl.Text<>'0') then
      begin
        Open;
        Append;
        FieldByName('SellerId').Value:=Editxsqdbh.Text;
        FieldByName('PartName').Value:='主板';
        FieldByName('PartType').Value:=ComboBoxzbxh.Text;
        FieldByName('SellerNumber').Value:=Editzbsl.Text;
        FieldByName('SellPrice').Value:=Editzbjg.Text;
        FieldByName('DateTime').Value:=DateTimePickerRQ.Date;
        FieldByName('RepairPeriod').Value:=Editzbqx.Text;
        Post;
      end;
      if (Editypsl.Text<>'') and (Editypsl.Text<>'0') then
      begin
        Open;
        Append;
        FieldByName('SellerId').Value:=Editxsqdbh.Text;
        FieldByName('PartName').Value:='硬盘';
        FieldByName('PartType').Value:=ComboBoxypxh.Text;
        FieldByName('SellerNumber').Value:=Editypsl.Text;
        FieldByName('SellPrice').Value:=Editypjg.Text;
        FieldByName('DateTime').Value:=DateTimePickerRQ.Date;
        FieldByName('RepairPeriod').Value:=Editypqx.Text;
        Post;
      end;
      if (Editjxsl.Text<>'') and (Editjxsl.Text<>'0') then
      begin
        Open;
        Append;
        FieldByName('SellerId').Value:=Editxsqdbh.Text;
        FieldByName('PartName').Value:='机箱';
        FieldByName('PartType').Value:=ComboBoxjxxh.Text;
        FieldByName('SellerNumber').Value:=Editjxsl.Text;
        FieldByName('SellPrice').Value:=Editjxjg.Text;
        FieldByName('DateTime').Value:=DateTimePickerRQ.Date;
        FieldByName('RepairPeriod').Value:=Editjxqx.Text;
        Post;
      end;
      if (Editxsqsl.Text<>'') and (Editxsqsl.Text<>'0') then
      begin
        Open;
        Append;
        FieldByName('SellerId').Value:=Editxsqdbh.Text;
        FieldByName('PartName').Value:='显示器';
        FieldByName('PartType').Value:=ComboBoxxsqxh.Text;
        FieldByName('SellerNumber').Value:=Editxsqsl.Text;
        FieldByName('SellPrice').Value:=Editxsqjg.Text;
        FieldByName('DateTime').Value:=DateTimePickerRQ.Date;
        FieldByName('RepairPeriod').Value:=Editxsqqx.Text;
        Post;
      end;
      if (Editdysl.Text<>'') and (Editdysl.Text<>'0') then
      begin
        Open;
        Append;
        FieldByName('SellerId').Value:=Editxsqdbh.Text;
        FieldByName('PartName').Value:='电源';
        FieldByName('PartType').Value:=ComboBoxdyxh.Text;
        FieldByName('SellerNumber').Value:=Editdysl.Text;
        FieldByName('SellPrice').Value:=Editdyjg.Text;
        FieldByName('DateTime').Value:=DateTimePickerRQ.Date;
        FieldByName('RepairPeriod').Value:=Editdyqx.Text;
        Post;
      end;
      if (Editgqsl.Text<>'') and (Editgqsl.Text<>'0') then
      begin
        Open;
        Append;
        FieldByName('SellerId').Value:=Editxsqdbh.Text;
        FieldByName('PartName').Value:='光驱';
        FieldByName('PartType').Value:=ComboBoxgqxh.Text;
        FieldByName('SellerNumber').Value:=Editgqsl.Text;
        FieldByName('SellPrice').Value:=Editgqjg.Text;
        FieldByName('DateTime').Value:=DateTimePickerRQ.Date;
        FieldByName('RepairPeriod').Value:=Editgqqx.Text;
        Post;
      end;
      if (Editjpsl.Text<>'') and (Editjpsl.Text<>'0') then
      begin
        Open;
        Append;
        FieldByName('SellerId').Value:=Editxsqdbh.Text;
        FieldByName('PartName').Value:='键盘';
        FieldByName('PartType').Value:=ComboBoxjpxh.Text;
        FieldByName('SellerNumber').Value:=Editjpsl.Text;
        FieldByName('SellPrice').Value:=Editjpjg.Text;
        FieldByName('DateTime').Value:=DateTimePickerRQ.Date;
        FieldByName('RepairPeriod').Value:=Editjpqx.Text;
        Post;
      end;
      if (Editsbsl.Text<>'') and (Editsbsl.Text<>'0') then
      begin
        Open;
        Append;
        FieldByName('SellerId').Value:=Editxsqdbh.Text;

⌨️ 快捷键说明

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