?? printscoreform.pas
字號:
unit PrintScoreForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, DB, ADODB, Buttons;
type
TPrintScore = class(TForm)
DBGrid1: TDBGrid;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
ADOQuery1: TADOQuery;
ADOConnection1: TADOConnection;
ADOQuery2: TADOQuery;
DataSource1: TDataSource;
BitBtn1: TBitBtn;
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure BitBtn1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
procedure showscore();
end;
var
PrintScore: TPrintScore;
id:string;
implementation
{$R *.dfm}
uses ReportForm;
//--------------輸入學號后回車,顯示學生信息-----------------
procedure TPrintScore.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',#8,#13]) then //該文本框中只能輸入數字
begin
key:=#0;
exit;
end;
//回車輸入,將學生的信息顯示在文本框中
if key=#13 then
begin
id:=trim(edit1.Text);
//清除上一次的數據
edit2.Clear;
edit3.Clear;
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select a.姓名,b.班級名稱,a.學籍編號 from 學生信息 a,班級信息 b');
adoquery1.SQL.Add('where (a.學號='''+id+''')and(a.班級編號=b.班級編號)');
adoquery1.Open;
if adoquery1.RecordCount=0 then
begin
showmessage('學號輸入錯誤');
bitbtn1.Enabled:=false;//學號輸入錯誤的情況下表格為空,不允許打印
exit;
end
else
bitbtn1.Enabled:=true;
edit2.Text:=trim(adoquery1.fieldbyname('姓名').AsString);
edit3.Text:=trim(adoquery1.fieldbyname('班級名稱').AsString);
showscore();
end;
end;
//-----------將學生的成績列在表中-------------------
procedure TPrintScore.showscore;
begin
adoquery2.SQL.Clear;
adoquery2.SQL.Add('select a.編號,b.課程名稱,a.成績,b.開課系別,b.教師 from 成績表 a,課程信息 b');
adoquery2.SQL.Add('where (a.學號='''+id+''')and(a.課程編號=b.課程編號)');
adoquery2.Open;
end;
//-------------------打印成績單-------------------------
procedure TPrintScore.BitBtn1Click(Sender: TObject);
begin
report.adoquery1.SQL.Clear;
report.adoquery1.SQL.Add('select a.學號,a.編號,b.課程名稱,c.姓名,a.成績,b.開課系別,b.教師 from 成績表 a,課程信息 b,學生信息 c');
report.adoquery1.SQL.Add('where (a.學號='''+id+''')and(a.課程編號=b.課程編號)and(c.學號=a.學號)');
report.adoquery1.Open;
report.QuickRep1.Preview;
end;
procedure TPrintScore.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -