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

📄 qckqunit.pas

📁 一个票据管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
end;

procedure TQcKqForm.BitEDITClick(Sender: TObject);
var
 ID:string;
begin
  //with dmdata.BjqlADOQuery do
  //begin
  //  close;
   //sql.Clear;
   // sql.Add('select * from t_bjql where ql = :a');
   // parameters.ParamByName('a').Value := trim(combobox2.Text);
   // open;
   // ID := fieldByName('id').AsInteger;
  //end;
    if dmdata.qsjzADOQuery.FieldByName('dbegin').AsDateTime > datetimepicker1.Date then
   begin
     showmessage('日期已小于本月范围,请重新选择!');
      datetimepicker1.Date:=dmdata.ADOTable_T_user['date'];
     exit;
   end;
   if (dmdata.qsjzADOQuery.FieldByName('dend').AsDateTime+1) < datetimepicker1.Date then
   begin
     showmessage('日期已大于本月范围,请重新选择!');
      datetimepicker1.Date:=dmdata.ADOTable_T_user['date'];
     exit;
   end;
  with dmdata.QcKqADOQuery do
  begin
     close;
     sql.Clear;
     sql.Add('update t_ms_jl set rq = :b,sl = :c,qxhm = :d,jxhm = :e where id = :f');
    // parameters.ParamByName('a').Value:=ID;
     parameters.ParamByName('b').Value:=datetostr(datetimepicker2.Date);
     parameters.parambyname('c').value:=edit5.text;
     parameters.ParamByName('d').Value:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit6.Text));
     parameters.ParamByName('e').Value:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit7.Text));
     parameters.ParamByName('f').Value:=strtoint(IDlabel.Caption);
     Execsql;
   end;
   with dmdata.QcKqADOQuery do
   begin
     close;
     sql.Clear;
     sql.Add('update t_kqb set rq = :b,sl = :c,qxhm =:d,jxhm = :e where ms_id = :f');
     //parameters.ParamByName('a').Value:=ID;
     parameters.ParamByName('b').Value:=datetostr(datetimepicker2.Date);
     parameters.parambyname('c').value:=edit5.text;
     parameters.ParamByName('d').Value:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit6.Text));
     parameters.ParamByName('e').Value:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit7.Text));
     parameters.ParamByName('f').Value:=strtoint(idlabel.Caption);
     Execsql;
   end;
   id:= trim(idlabel.Caption);
   QcKqNewll;
   with  dmdata.QcKqADOQuery do
   begin
     if Locate('id',id,[loCaseInsensitive]) then
     begin
        ToolButton2Click(Sender);
     end
     else
       exit;
   end;
   combobox2.SetFocus;
    toolbutton3.Enabled:=false;
    n3.Enabled:=false;
end;

procedure TQcKqForm.conbobox2keydown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    if (key = vk_return)then
 begin
   datetimepicker2.SetFocus;
 end;
end;

procedure TQcKqForm.datetime2keydown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    if (key =vk_return)or(key=vk_down)then
   begin
     edit5.SetFocus;
   end;
   if key=vk_up then
   begin
     combobox2.SetFocus;
   end;
end;

procedure TQcKqForm.edit5keydown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    if (key =vk_return)or(key=vk_down) then
   begin
     edit6.SetFocus;
   end;
   if key=vk_up then
   begin
     datetimepicker2.SetFocus;
   end;
end;

procedure TQcKqForm.edit6keydown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    if (key =vk_return)or(key=vk_down) then
   begin
     edit7.SetFocus;
   end;
   if key=vk_up then
   begin
     edit5.SetFocus;
   end;
end;

procedure TQcKqForm.edit7keydown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    if (key =vk_return)or(key=vk_down) then
   begin
     bitedit.SetFocus;
   end;
   if key=vk_up then
   begin
     edit6.SetFocus;
   end;
end;

procedure TQcKqForm.ToolButton3Click(Sender: TObject);
var
id:string;
begin
  if not dmdata.QcKqADOQuery.Eof then
  begin
  id:=inttostr(strtoint(idlabel.Caption)+1);
  with dmdata.QcKqADOQuery do
  begin
     close;
     sql.Clear;
     sql.Add('delete from t_MS_JL where (ID = :a)');
     parameters.ParamByName('a').Value:=STRTOint(idlabel.Caption);
     Execsql;
   end;
   QcKqNewll;
    with  dmdata.QcKqADOQuery do
   begin
     if Locate('id',id,[loCaseInsensitive]) then
     begin
        idlabel.Caption:=inttostr(fieldbyname('id').AsInteger);
     end
     else
        QcKqNewll;
   end;
 end
 else
   QcKqNewll;
end;

procedure TQcKqForm.ToolButton12Click(Sender: TObject);
begin
  printerpreview.Orientation:=poLandscape;
  printdbgrideh1.Preview;
end;

procedure TQcKqForm.ToolButton5Click(Sender: TObject);
begin
  dmdata.QcKqADOQuery.First;
  idlabel.Caption:=inttostr(dmdata.QcKqADOQuery.fieldbyname('id').AsInteger);
     if groupbox2.Visible = true then
     begin
      with dmdata.QcKqADOQuery do
      begin
       combobox2.Text:=fieldbyname('ql').AsString;
       datetimepicker2.date:=fieldbyname('rq').AsDateTime;
       edit5.Text:=inttostr(fieldbyname('sl').AsInteger);
       edit6.Text:=fieldbyname('qxhm').AsString;
       edit7.Text:=fieldbyname('jxhm').AsString;
      end;
      combobox2.SetFocus;
     end;
end;

procedure TQcKqForm.ToolButton8Click(Sender: TObject);
begin
 dmdata.QcKqADOQuery.Prior;
    idlabel.Caption:=inttostr(dmdata.QcKqADOQuery.fieldbyname('id').AsInteger);
     if groupbox2.Visible = true then
     begin
     with dmdata.QcKqADOQuery do
     begin
      combobox2.Text:=fieldbyname('ql').AsString;
      datetimepicker2.date:=fieldbyname('rq').AsDateTime;
      edit5.Text:=inttostr(fieldbyname('sl').AsInteger);
      edit6.Text:=fieldbyname('qxhm').AsString;
      edit7.Text:=fieldbyname('jxhm').AsString;
     end;
     combobox2.SetFocus;
     end;
end;

procedure TQcKqForm.ToolButton9Click(Sender: TObject);
begin
 dmdata.QcKqADOQuery.Next;
 idlabel.Caption:=inttostr(dmdata.QcKqADOQuery.fieldbyname('id').AsInteger);
     if groupbox2.Visible = true then
     begin
      with dmdata.QcKqADOQuery do
      begin
      combobox2.Text:=fieldbyname('ql').AsString;
      datetimepicker2.date:=fieldbyname('rq').AsDateTime;
      edit5.Text:=inttostr(fieldbyname('sl').AsInteger);
      edit6.Text:=fieldbyname('qxhm').AsString;
      edit7.Text:=fieldbyname('jxhm').AsString;
      end;
      combobox2.SetFocus;
     end;
end;

procedure TQcKqForm.ToolButton11Click(Sender: TObject);
begin
 dmdata.QcKqADOQuery.Last;
 idlabel.Caption:=inttostr(dmdata.QcKqADOQuery.fieldbyname('id').AsInteger);
     if groupbox2.Visible = true then
     begin
     with dmdata.QcKqADOQuery do
     begin
      combobox2.Text:=fieldbyname('ql').AsString;
      datetimepicker2.date:=fieldbyname('rq').AsDateTime;
      edit5.Text:=inttostr(fieldbyname('sl').AsInteger);
      edit6.Text:=fieldbyname('qxhm').AsString;
      edit7.Text:=fieldbyname('jxhm').AsString;
      end;
      combobox2.SetFocus;
     end;
end;

procedure TQcKqForm.ToolButton7Click(Sender: TObject);
begin
  close;
end;

procedure TQcKqForm.ToolButton4Click(Sender: TObject);
var
 cacc,stryear,str1:string;
 ms_id,id,s,i,j:integer;
begin
  s:=length(trim(dmdata.ADOTable_T_user.fieldByName('dh').AsString));
  str1:=copy(trim(dmdata.ADOTable_T_user.fieldByName('dh').AsString),2,s-1);
  i:=pos(']',trim(str1));
  cacc:=copy(trim(str1),1,i-1);
  j:=pos('-',trim(datetostr(dmdata.ADOTable_T_user.fieldByName('date').AsDateTime)));
  stryear:=copy(trim(datetostr(dmdata.ADOTable_T_user.fieldByName('date').AsDateTime)),1,j-1);
  with dmdata.JzADOQuery do
  begin
    close;
    sql.Clear;
    sql.Add('select * from g_account1 where (AccountNum=:a) and (iYear=:b)');
    parameters.ParamByName('a').Value:=trim(cacc);
    parameters.ParamByName('b').Value:=strtoint(stryear)-1;
    open;
    id:=fieldbyname('id').AsInteger;
  end;
  with dmdata.JzADOQuery do
  begin
    close;
    sql.Clear;
    sql.Add('select * from g_period where (iacc_id=:a) and (iyear=:b) and(id=:c)');
    parameters.ParamByName('a').Value:= id;
    parameters.ParamByName('b').Value:= strtoint(stryear)-1;
    parameters.ParamByName('c').Value:=12;
    open;
    if fieldbyname('bflag').AsBoolean = true then
    begin
    try
      if MessageDlg('确定要结转上年库存数吗?结转将复盖现有数据!',mtConfirmation,[mbYes,mbNo],0) = mrYes then
      begin
       with dmdata.QcKqADOQuery do
       begin
          close;
          sql.Clear;
          sql.Add('delete from t_MS_JL');
          Execsql;
       end;
       with dmdata.QcKqADOQuery do
       begin
          close;
          sql.Clear;
          sql.Add('delete from T_Bjql');
          Execsql;
       end;
       with dmdata.QcKqADOQuery do
       begin
          close;
          sql.Clear;
          sql.Add('delete from T_Bm');
          Execsql;
       end;
       with dmdata.qqjjADOQuery do
       begin
         close;
         sql.Clear;
         sql.Clear;
         sql.Add('select * from T_Bm');
         open;
         First;
         while not eof do
         begin
           with dmdata.QcKqADOQuery do
           begin
             close;
             sql.Clear;
             sql.Add('insert into t_bm(km,DWBM) values(:a,:b)');
             parameters.ParamByName('a').Value:=dmdata.qqjjADOQuery.fieldByName('km').AsString;
             parameters.ParamByName('b').Value:=dmdata.qqjjADOQuery.fieldByName('DWBM').AsString;
             Execsql;
           end;
           next;
         end;
       end;
       with dmdata.qqjjADOQuery do
       begin
         close;
         sql.Clear;
         sql.Clear;
         sql.Add('select * from T_Bjql');
         open;
         First;
         while not eof do
         begin
           with dmdata.QcKqADOQuery do
           begin
             close;
             sql.Clear;
             sql.Add('insert into T_Bjql(km,ql,MBF) values(:a,:b,:c)');
             parameters.ParamByName('a').Value:=dmdata.qqjjADOQuery.fieldByName('km').AsString;
             parameters.ParamByName('b').Value:=dmdata.qqjjADOQuery.fieldByName('ql').AsString;
             parameters.ParamByName('c').Value:=dmdata.qqjjADOQuery.fieldByName('mbf').AsString;
             Execsql;
           end;
           next;
         end;
       end;
       with dmdata.qqjjADOQuery  do
       begin
       close;
       sql.Clear;
       sql.Add('select * from t_kqb');
       open;
       First;
       while not eof do
       begin
          with dmdata.QcKqADOQuery do
          begin
            close;
            sql.Clear;
            sql.Add('insert into t_ms_jl(ql_id,rq,sl,qxhm,jxhm,Lybm,qt) values(:a,:b,:c,:d,:e,:f,:g)');
            parameters.ParamByName('a').Value:=dmdata.qqjjADOQuery.fieldByName('ql_id').AsString;
            //parameters.ParamByName('b').Value:=dmdata.qqjjADOQuery.fieldByName('rq').AsDateTime;
            parameters.ParamByName('b').Value:=dmdata.ADOTable_T_user.fieldbyname('date').AsDateTime;
            parameters.parambyname('c').value:=dmdata.qqjjADOQuery.fieldByName('sl').AsInteger;
            parameters.ParamByName('d').Value:=dmdata.qqjjADOQuery.fieldByName('QXHM').AsString;
            parameters.ParamByName('e').Value:=dmdata.qqjjADOQuery.fieldByName('JXHM').AsString;
            parameters.ParamByName('f').Value:=dmdata.qqjjADOQuery.fieldByName('KQBM').AsString;
            parameters.ParamByName('g').Value:=dmdata.qqjjADOQuery.fieldByName('QT').AsString;
            Execsql;
          end;
          with dmdata.QcKqADOQuery do
          begin
            close;
            sql.Clear;
            sql.Add('select MAX(ID) AS ms_id from t_ms_jl' );
            open;
            ms_id:= fieldByName('ms_id').AsInteger;
          end;
          with dmdata.QcKqADOQuery do
          begin
             close;
             sql.Clear;
             sql.Add('insert into t_kqb(ms_id,ql_id,rq,sl,qxhm,jxhm,KQbm,qt) values(:h,:a,:b,:c,:d,:e,:f,:g)');
             parameters.ParamByName('h').Value := ms_id;
             parameters.ParamByName('a').Value:=dmdata.qqjjADOQuery.fieldByName('ql_id').AsString;
             //parameters.ParamByName('b').Value:=dmdata.qqjjADOQuery.fieldByName('rq').AsDateTime;
             parameters.ParamByName('b').Value:=dmdata.ADOTable_T_user.fieldbyname('date').AsDateTime;
             parameters.parambyname('c').value:=dmdata.qqjjADOQuery.fieldByName('sl').AsInteger;
             parameters.ParamByName('d').Value:=dmdata.qqjjADOQuery.fieldByName('QXHM').AsString;
             parameters.ParamByName('e').Value:=dmdata.qqjjADOQuery.fieldByName('JXHM').AsString;
             parameters.ParamByName('f').Value:=dmdata.qqjjADOQuery.fieldByName('KQBM').AsString;
             parameters.ParamByName('g').Value:=dmdata.qqjjADOQuery.fieldByName('QT').AsString;
             Execsql;
          end;
          next;
        end;
      end;

      QcKqNewll;
    end;
    except        //抛出异常
         Application.MessageBox('没有上年年度账','提示对话框',MB_OK);
         exit;
    end;
    end
    else
    begin
      Application.MessageBox('上年年未没有结账','提示对话框',MB_OK);
      exit;
    end;
   end;
end;

procedure TQcKqForm.N1Click(Sender: TObject);
begin
 ToolButton1Click(Sender);
end;

procedure TQcKqForm.N2Click(Sender: TObject);
begin
  ToolButton2Click(Sender);
end;

procedure TQcKqForm.N3Click(Sender: TObject);
begin
  ToolButton3Click(Sender);
end;

procedure TQcKqForm.ToolButton13Click(Sender: TObject);
begin
  if printdbgrideh1.PrinterSetupDialog = true then
   printdbgrideh1.Print;
end;

procedure TQcKqForm.edit1keypress(Sender: TObject; var Key: Char);
var
  m:boolean;
begin
  m:=(key<#8)or(key>#8)and(key<#48)or(key>#57);
  if m then key := #0;


end;

procedure TQcKqForm.edit2keypress(Sender: TObject; var Key: Char);
var
  m:boolean;
begin
  m:=(key<#8)or(key>#8)and(key<#48)or(key>#57);
  if m then key := #0;


end;

procedure TQcKqForm.edit3keypress(Sender: TObject; var Key: Char);
var
  m:boolean;
begin
  m:=(key<#8)or(key>#8)and(key<#48)or(key>#57);
  if m then key := #0;


end;

procedure TQcKqForm.edit5keypress(Sender: TObject; var Key: Char);
var
  m:boolean;
begin
  m:=(key<#8)or(key>#8)and(key<#48)or(key>#57);
  if m then key := #0;
end;

procedure TQcKqForm.edit6keypress(Sender: TObject; var Key: Char);
var
  m:boolean;
begin
  m:=(key<#8)or(key>#8)and(key<#48)or(key>#57);
  if m then key := #0;


end;

procedure TQcKqForm.edit7keypress(Sender: TObject; var Key: Char);
var
  m:boolean;
begin
  m:=(key<#8)or(key>#8)and(key<#48)or(key>#57);
  if m then key := #0;


end;

procedure TQcKqForm.Edit1Change(Sender: TObject);
begin
    if ((edit1.Text <> '') and (edit2.Text <> '')) then
   begin
    edit3.Text:=formatfloat(dm.DMData.pjlenstr,strtofloat(edit1.Text)*unm+strtofloat(edit2.Text)-1);

   end
   else
     exit;
end;

end.

⌨️ 快捷键说明

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