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

📄 sftongji.pas

📁 一个简单的学生费用管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
         end;
      1:
         begin
           if (edit3.Text='')or (edit4.Text='') then  {如果没有输入统计的收费人号警告退出过程}
             begin
               showmessage('请输入统计的收费人号');
               exit;
             end
           else
             begin
               adoquery1.Close;
               adoquery1.SQL.Clear;
               adoquery1.SQL.add('select * from dj_b where (sfrh>='+''''+edit3.text+''') and( sfrh<='+''''+edit4.text+''')');
               adoquery1.open;
               adoquery1.first;
               while not adoquery1.Eof  do
                 begin
                   if adoquery1.fieldbyname('zf').value='true' then
                     begin
                       zje:=zje+adoquery1.fieldbyname('ss').value;
                       djs:=djs+1;
                       adoquery1.Next;
                     end
                   else
                     adoquery1.Next;
                 end;
               edit1.Text:=inttostr(zje);
               edit2.Text:=inttostr(djs);
               label2.Caption:='作废单据数';
             end;
         end;
      2:
         begin
           if (edit3.Text='')or (edit4.Text='') then {如果没有输入统计的单据号警告退出过程}
             begin
               showmessage('请输入统计的单据号');
               exit;
             end
           else
             begin
               adoquery1.Close;
               adoquery1.SQL.Clear;
               adoquery1.SQL.add('select * from dj_b where (djh>='+''''+edit3.text+''') and( djh<='+''''+edit4.text+''')');
               adoquery1.open;
               adoquery1.first;
               while not adoquery1.Eof  do
                 begin
                   if adoquery1.fieldbyname('zf').value='true'  then
                     begin
                       zje:=zje+adoquery1.fieldbyname('ss').value;
                       djs:=djs+1;
                       adoquery1.Next;
                     end
                   else
                     adoquery1.Next;
                 end;
               edit1.Text:=inttostr(zje);
               edit2.Text:=inttostr(djs);
               label2.Caption:='作废单据数';
             end;
         end;
       end;
     end;
end;

procedure TForm4.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
 adoquery1.Edit;
end;

procedure TForm4.CheckBox1Click(Sender: TObject);
var
  mysql:string;
  zje:integer;
begin
  if CheckBox1.Checked then
    begin
      zje:=0;
      checkbox2.Checked:=false;
      checkbox1.Checked:=true;
      mysql:='';
      adoquery1.Filtered:=false;
      mysql:='zf='+QuotedStr('true');
      adoquery1.Filter:=mysql;
      adoquery1.Filtered:=true;
      label2.Caption:='作废单据数';
      edit2.Text:=inttostr(adoquery1.Recordcount);
      adoquery1.First;
      while not adoquery1.Eof  do
        begin
          if adoquery1.fieldbyname('zf').value='true' then
            begin
              zje:=zje+adoquery1.fieldbyname('ss').value;
              adoquery1.Next;
            end
          else  adoquery1.Next;
        end;
      edit1.Text:=inttostr(zje);
    end
  else
    begin
      adoquery1.Filtered:=false;
      show_all;
    end;
end;

procedure TForm4.CheckBox2Click(Sender: TObject);
var
   mysql:string;
begin
   if CheckBox2.Checked then
     begin
       checkbox1.Checked:=false;
       checkbox2.Checked:=true;
       mysql:='';
       adoquery1.Filtered:=false;
       mysql:='zf='+QuotedStr('false');
       adoquery1.Filter:=mysql;
       adoquery1.Filtered:=true;
       label2.Caption:='有效单据数';
       edit2.Text:=inttostr(adoquery1.Recordcount);
     end
   else
     begin
      adoquery1.Filtered:=false;
      show_all;
     end;
end;

procedure TForm4.N1Click(Sender: TObject);     //adotable1:student_b  adotable2:djmx_b  adoquery2:fy_b
var
   xh,djh,msql:string;
   ss:double;
   zje:integer;
begin
  zje:=0;
  if adoquery1.FieldValues['zf'] then exit;
  xh:=adoquery1.FieldValues['xh'];
  djh:=adoquery1.FieldValues['djh'];
  ss:=adoquery1.FieldValues['ss'];
  if MessageDlg('学号:'+xh+chr(13)+'单据号:'+djh+chr(13)+'金额'+floattostr(ss)+chr(13)+'确定要作废吗?',mtconfirmation,[mbyes,mbno],0)=mryes then
  try
    DataModule1.ADOConnection1.BeginTrans;
    msql:='update dj_b set zf=true,zfrq='+QuotedStr(datetostr(now))+',ss=0 '+'  where djh='+QuotedStr(djh);
    DataModule1.ADOConnection1.Execute(msql);
    msql:='update student_b set sj='+quotedstr(adotable1.FieldValues['sj'])+'-'+floattostr(ss)+',qj='+quotedstr(adotable1.FieldValues['qj'])+'+'+floattostr(ss)+' where xh='+QuotedStr(xh);
    DataModule1.ADOConnection1.Execute(msql);

    adotable2.First;                 //修改单据明细表记录
    while not(adotable2.Eof) do
      begin
        adoquery2.Close;
        adoquery2.SQL.Clear;
        adoquery2.SQL.Add('select * from fy_b where xh='+QuotedStr(xh)+' and fyh='+quotedstr(adotable2.FieldValues['fyh']) + ' and nf='+quotedstr(adotable2.FieldValues['nf']));
        adoquery2.Open;
        msql:='update fy_b set qj='+quotedstr(adoquery2.FieldValues['qj'])+'+'+floattostr(adotable2.FieldValues['sj'])+',sj='+quotedstr(adoquery2.FieldValues['sj'])+'-'+floattostr(adotable2.FieldValues['sj'])+'  where xh='+QuotedStr(xh)+' and fyh='+quotedstr(adotable2.FieldValues['fyh']) + ' and nf='+quotedstr(adotable2.FieldValues['nf']);
        DataModule1.ADOConnection1.Execute(msql);
        msql:='update djmx_b set sj=0 where djh='+QuotedStr(djh);
        DataModule1.ADOConnection1.Execute(msql);
        adotable2.next;
      end;
    adoquery1.Requery([]);
    adoquery1.Locate('djh',djh,[]);
    adoquery2.Requery;
    adotable1.Requery;
    adotable2.Requery;
    adoquery1.First;                        //刷新收费合计edit1.text
    while not adoquery1.Eof  do
     begin
      if adoquery1.fieldbyname('zf').value='false' then
        begin
          zje:=zje+adoquery1.fieldbyname('ss').value;
          adoquery1.Next;
          end
        else  adoquery1.Next;
     end;
    edit1.Text:=inttostr(zje);
    DataModule1.ADOConnection1.CommitTrans;
  except
    showmessage('作废出错!');
    DataModule1.ADOConnection1.RollbackTrans;
  end;
end;

procedure TForm4.FormCreate(Sender: TObject);
var
  zje:integer;
begin
  zje:=0;
  adotable1.Active:=true;
  adotable2.Active:=true;
  adoquery1.Active:=true;
  label2.Caption:='全部单据数';
  edit2.Text:=inttostr(adoquery1.Recordcount);
  adoquery1.First;
  while not adoquery1.Eof  do
    begin
      if adoquery1.fieldbyname('zf').value='false' then
        begin
          zje:=zje+adoquery1.fieldbyname('ss').value;
          adoquery1.Next;
          end
        else  adoquery1.Next;
    end;
  edit1.Text:=inttostr(zje);
end;

procedure TForm4.show_all;      //重新显示全部记录,edit1.text edit2.text
var
  zje:integer;
begin
  zje:=0;
  adoquery1.Close;
  adoquery1.sql.Clear;
  adoquery1.sql.add('select * from dj_b');
  adoquery1.open;
  label2.Caption:='全部单据数';
  edit2.Text:=inttostr(adoquery1.Recordcount);
  adoquery1.First;
  while not adoquery1.Eof  do
    begin
      if adoquery1.fieldbyname('zf').value='false' then
        begin
          zje:=zje+adoquery1.fieldbyname('ss').value;
          adoquery1.Next;
          end
        else  adoquery1.Next;
    end;
  edit1.Text:=inttostr(zje);
  edit3.Text:='';
  edit4.Text:='';
  checkbox1.Checked:=false;
  checkbox2.Checked:=false;
end;

procedure TForm4.Button1Click(Sender: TObject);
begin
  tj1:=edit3.text;
  tj2:=edit4.text;
  hj:=edit1.text;
  dj:=edit2.text;
  djs:=Label2.Caption;
  with Tform8.Create(nil) do
     try
       quickrep1.preview;
     finally
       free;
     end;
end;

end.

⌨️ 快捷键说明

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