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

📄 classgradereportunit.pas

📁 一个功能完美的学生成绩管理系统   使用ACCESS数据库在DATA文件夹中 功能强大
💻 PAS
字号:
unit classgradeReportUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, Mask, ExtCtrls;

type
  TclassgradeReportForm = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    DBEdit1: TMaskEdit;
    Label9: TLabel;
    Label2: TLabel;
    Label5: TLabel;
    DBComboBox1: TComboBox;
    DBComboBox2: TComboBox;
    Label4: TLabel;
    Label3: TLabel;
    Label6: TLabel;
    DBComboBox3: TComboBox;
    Label7: TLabel;
    DBComboBox4: TComboBox;
    Label8: TLabel;
    procedure BitBtn1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BitBtn3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  classgradeReportForm: TclassgradeReportForm;

implementation
uses datamoduleunit;

{$R *.dfm}

procedure TclassgradeReportForm.BitBtn1Click(Sender: TObject);
begin
if (trim(DBedit1.Text)='') or  (DBcombobox2.Text='')or(DBcombobox4.Text='') then
  begin
    messagebox (handle,'条件不能为空,请输入!','警告',mb_ok) ;
    exit;
  end;
if  (DBcombobox1.Text+DBcombobox2.Text)>(DBcombobox3.Text +DBcombobox4.Text)then
  begin
    messagebox (handle,'时间顺序有误!请更正!','警告',mb_ok) ;
    exit;
  end;
with datamodule1.Querystudent do
    begin
     close;
     SQL.Clear;
     sql.Add('select * from student');
     sql.Add('where  sno like :sno');
     Parameters.ParamByName('sno').Value:=trim(dbedit1.Text)+'%';
     prepared;
     open;
    end;
with datamodule1.queryall do
    begin
     close;
     SQL.Clear;
     sql.Add('select student.sno,sname,cname,tname,grade,year,term,type from grade,student');
     sql.Add('where grade.sno=student.sno and student.sno like :sno');
     sql.Add('and (year>:year1 and year<:year2');
     if dbcombobox2.Text='上' then
     sql.Add('or year=:year11')
     else begin
          sql.Add('or year=:year11 and term=:term1');
          Parameters.ParamByName('term1').Value:=dbcombobox2.Text;
          end;
     if dbcombobox4.Text='下' then
        sql.Add('or year=:year22)')
     else begin
          sql.Add('or year=:year22 and term=:term2)');
          Parameters.ParamByName('term2').Value:=dbcombobox4.Text;
          end;
     Parameters.ParamByName('sno').Value:=trim(dbedit1.Text)+'%';
     Parameters.ParamByName('year1').Value:=strtoint(dbcombobox1.Text);
     Parameters.ParamByName('year2').Value:=strtoint(dbcombobox3.Text);
     parameters.ParamByName('year11').Value:=strtoint(dbcombobox1.Text);
     Parameters.ParamByName('year22').Value:=strtoint(dbcombobox3.Text);
     prepared;
     open;
    end;
with datamodule1.RvProjectall do
begin
datamodule1.RvDataSetConnectionall.DataSet:=datamodule1.queryall;
SelectReport('classgradereport',false);
Execute;
end;

end;

procedure TclassgradeReportForm.FormCreate(Sender: TObject);
var year,month,day:word;
     n:integer;
     thisyear:integer;
begin
  DecodeDate(now, Year, Month, Day);
  thisyear:=round(year);
for n:=1 to 20 do
   begin
    DBcombobox1.Items.Add(inttostr(thisyear));
     DBcombobox3.Items.Add(inttostr(thisyear));
    thisyear:=thisyear-1;
   end;
 DBcombobox1.ItemIndex:=1;
 DBcombobox3.ItemIndex:=0;
end;

procedure TclassgradeReportForm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
with datamodule1 do
  begin
   queryall.Close;
   querystudent.Close;
  end;
end;

procedure TclassgradeReportForm.BitBtn3Click(Sender: TObject);
begin
with datamodule1 do
  begin
   queryall.Close;
   querystudent.Close;
  end;
end;

end.

⌨️ 快捷键说明

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