unitprtzkzh.pas.~39~

来自「初中成绩录入系统网络版(firebird) firebird下的网络编程」· ~39~ 代码 · 共 80 行

~39~
80
字号
unit UnitPrtZkzh;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, frxClass, frxDBSet, frxIBXComponents, StdCtrls, Buttons, CheckLst;

type
  TfmPrtZkzh = class(TForm)
    frxDBDataset1: TfrxDBDataset;
    frxIBXComponents1: TfrxIBXComponents;
    BitBtn1: TBitBtn;
    SchoolList: TCheckListBox;
    BitBtn2: TBitBtn;
    frxReport1: TfrxReport;
    procedure BitBtn1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

implementation

uses unitDatamodule, UnitSchoolManager;

{$R *.dfm}

procedure TfmPrtZkzh.FormCreate(Sender: TObject);
var
  sm:TSchoolManager;
  i:Integer;
begin
  sm:=TSchoolManager.Create;
  sm.SchoolList(SchoolList.Items);
  for i:=0 to SchoolList.Items.Count-1 do
    SchoolList.Checked[i]:=true;
  sm.Free;
end;

procedure TfmPrtZkzh.BitBtn1Click(Sender: TObject);
var
  i,cnt:Integer;
  mysql:String;
begin
  cnt:=0;
  mysql:='';
  for i:=0 to SchoolList.Items.Count-1 do
  begin
    if SchoolList.Checked[i]=true then
      cnt:=cnt+1;
  end;
  case cnt of
    0:
      begin
      Application.MessageBox('您至少必需选择一所学校!','提示',MB_OK or MB_ICONWARNING);
      exit;
      end;
    else
    begin
      for i:=0 to SchoolList.Items.Count-1 do
      begin
        if SchoolList.Checked[i]=true then
          mysql:=mysql+' or a.school='''+SchoolList.Items[i]+'''';
      end;
      mysql:='select a.school,b.zkzh,a.stdname,a.classroom,a.bmh from '+
        'student a,achieve b where (a.bmh=b.bmh) and ('+copy(mysql,5,Length(mysql)-4)+') order by b.zkzh'
    end;
  end;
  dm.Trans1.Active:=false;
  dm.Query1.Close;
  dm.Query1.SQL.Text:=mysql;
  dm.Query1.Open;
  frxReport1.ShowReport();
end;

end.

⌨️ 快捷键说明

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