📄 tcoursestatisticsunit.pas
字号:
begin
tep:=fieldbyname('tcscode').AsString;
sqlStr := 'UPDATE TCourseReward2 SET '
+ 'tcscode=' + QuotedStr(tep)
+ 'WHERE tcscode=' + QuotedStr(tep);
ToExecSQL(sqlStr, DM.ADOConnection1);
next;
end;
adoqry2.Free;
end;
TControlAccess(DBGrid1).OnMouseWheel := GridMouseWheel;
end;
procedure TTCourseStatisticsForm.FormShow(Sender: TObject);
begin
adoquery1.Open;
with adoquery1 do
begin
edttcname.Text := fieldByName('tname').AsString;
edttclessoncount.Text := fieldByName('trlessonscount').AsString;
edttraward.Text:=fieldByName('traward').AsString;
edttrsignature.Text:=fieldByName('trsignature').AsString;
edttcpost.Text:=fieldbyname('tpost').AsString;
edttcdepartment.Text:=fieldbyname('tcdepartment').AsString;
edttrwages.Text:=fieldbyname('trwages').AsString;
edttrtaxrate.Text:=fieldbyname('trtaxrate').AsString;
edttremuneration.Text:=fieldbyname('tremuneration').AsString;
edttrtax.Text:=fieldbyname('trtax').AsString;
edttrtaxrate.Text:=fieldbyname('trtaxrate').AsString;
edttrstandard.Text:= fieldbyname('trstandard').AsString;
if fieldByName('tbool').AsString = '是' then
cbtcout.Checked:=true
else
cbtcout.Checked:=false;
end;
ControlTheEnablePro(true);
end;
procedure TTCourseStatisticsForm.GridMouseWheel(Sender: TObject;
Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint;
var Handled: Boolean);
begin
TDBGrid(Sender).DataSource.DataSet.MoveBy(-WheelDelta div WHEEL_DELTA);
Handled := True;
end;
procedure TTCourseStatisticsForm.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if gdSelected in State then Exit; //隔行改变网格背景色:
if adoquery1.RecNo mod 2 = 0 then
(Sender as TDBGrid).Canvas.Brush.Color := clinfobk //定义背景颜色
else
(Sender as TDBGrid).Canvas.Brush.Color := RGB(191, 255, 223); //定义背景颜色
//定义网格线的颜色:
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
with (Sender as TDBGrid).Canvas do //画 cell 的边框
begin
Pen.Color := $00ff0000; //定义画笔颜色(蓝色)
MoveTo(Rect.Left, Rect.Bottom); //画笔定位
LineTo(Rect.Right, Rect.Bottom); //画蓝色的横线
Pen.Color := clbtnface; //定义画笔颜色(兰色)
MoveTo(Rect.Right, Rect.Top); //画笔定位
LineTo(Rect.Right, Rect.Bottom); //画绿色
end;
end;
procedure TTCourseStatisticsForm.ADOQuery1AfterScroll(DataSet: TDataSet);
var
adoqry:Tadoquery;
begin
adoquery1.Open;
with adoquery1 do
begin
temptcscode:=adoquery1.fieldbyname('tno').AsString;
temptrno:= fieldByName('trno').AsString;
edttcname.Text := fieldByName('tname').AsString;
edttclessoncount.Text := fieldByName('trlessonscount').AsString;
edttraward.Text:=fieldByName('traward').AsString;
edttrsignature.Text:=fieldByName('trsignature').AsString;
edttcpost.Text:=fieldbyname('tpost').AsString;
edttcdepartment.Text:=fieldbyname('tcdepartment').AsString;
edttrwages.Text:=fieldbyname('trwages').AsString;
edttrtaxrate.Text:=fieldbyname('trtaxrate').AsString;
edttremuneration.Text:=fieldbyname('tremuneration').AsString;
edttrtax.Text:=fieldbyname('trtax').AsString;
edttrtaxrate.Text:=fieldbyname('trtaxrate').AsString;
edttrstandard.Text:= fieldbyname('trstandard').AsString;
if fieldByName('tbool').AsString = '是' then
cbtcout.Checked:=true
else
cbtcout.Checked:=false;
end;
adoqry:=tadoquery.Create(self);
with adoqry do
begin
connection:=dm.ADOConnection1;
Sql.Text:='select sum(tclessoncount) as no from TCourse where tcscode='+quotedstr(adoquery1.fieldbyname('tno').AsString);
open;
edttclessoncount.Text:=adoqry.fieldbyname('no').AsString;
sql.Text:= 'UPDATE TCourseReward2 SET '
+ 'trlessonscount=' + QuotedStr(edttclessoncount.Text)
+ 'WHERE trno=' + QuotedStr(adoquery1.fieldbyname('trno').AsString);
ExecSQL;
end;
end;
procedure TTCourseStatisticsForm.btnFindClick(Sender: TObject);
var
sqlStr:string;
begin
adoquery1.Open;
sqlStr :='select distinct tt.tno,tt.tname,tt.tpost,tt.tcdepartment,tcr.trno,tcr.tcscode ,tcr.trstandard,tcr.traward,tcr.tremuneration,tcr.trtaxrate,tcr.trtax,'
+'tcr.trwages,tcr.trsignature,tt.tbool,tcr.trlessonscount from TCourseReward2 tcr inner join tteacher tt on tt.tno=tcr.tcscode WHERE 1=1';
if combobox1.ItemIndex <> 0 then
sqlStr := sqlstr+'AND tt.tbool=' + QuotedStr(combobox1.Text);
if edtyear.Text <> '' then
sqlStr := sqlstr+ ' AND tt.tname like ''%'+ edtyear.Text + '%''';
if combobox3.ItemIndex <> 0 then
sqlStr := sqlstr+ ' AND tt.tpost like ''%'+ combobox3.Text + '%''';
with adoquery1 do
begin
Sql.Text := sqlStr;
Open;
end;
edtyear.Text:='';
combobox1.ItemIndex:=0;
combobox3.ItemIndex:=0;
end;
procedure TTCourseStatisticsForm.Button1Click(Sender: TObject);
begin
tongjiForm.ShowModal;
CopyDbDataToExcel([DBGrid1]);
end;
procedure TTCourseStatisticsForm.BitBtn4Click(Sender: TObject);
begin
adoquery1.Open;
if adoquery1.FieldByName('trno').AsString = ''then
begin
showmessage('此记录尚未添加,不可做修改!');
end
else
begin
ControlTheEnablePro(false);
edttrtax.SetFocus;
flag:=2;
end;
end;
procedure TTCourseStatisticsForm.BitBtn6Click(Sender: TObject);
var
sqlstr,uno :string;
begin
uno := GetUno;
if flag =1 then
begin
sqlstr:='INSERT TCourseReward2(trno,tcscode,trstandard,tremuneration,trtaxrate,trtax,trwages,'
+'traward,trsignature)'
+ 'Values('
+ QuotedStr(uno)+','
+ QuotedStr(temptcscode)+','
+ QuotedStr(edttrstandard.Text)+','
+ QuotedStr(edttremuneration.Text)+','
+ QuotedStr(edttrtaxrate.Text)+','
+ QuotedStr(edttrtax.Text)+','
+ QuotedStr(edttrwages.Text)+','
+ QuotedStr(edttraward.Text)+','
+ QuotedStr(edttrsignature.Text)
+')';
ToExecSQL(sqlStr, DM.ADOConnection1);
showmessage('添加成功!');
adoquery1.Close;
adoquery1.Open;
end
else
if flag=2 then
begin
sqlStr := 'UPDATE TCourseReward2 SET '
+ 'trwages=' + QuotedStr(edttrwages.Text) +','
+ 'trtaxrate=' + QuotedStr(edttrtaxrate.Text) +','
+ 'tremuneration=' + QuotedStr(edttremuneration.Text) +','
+ 'trstandard=' + QuotedStr(edttrstandard.Text) +','
+ 'trtax=' + QuotedStr(edttrtax.Text) +','
+ 'trsignature=' + QuotedStr(edttrsignature.Text) +','
+ 'traward=' + QuotedStr(edttraward.Text)
+ 'WHERE trno=' + QuotedStr(temptrno);
ToExecSQL(sqlStr, DM.ADOConnection1);
showmessage('修改成功!');
adoquery1.close;
adoquery1.open;
end;
ControlTheEnablePro(true);
end;
procedure TTCourseStatisticsForm.BitBtn5Click(Sender: TObject);
begin
ControlTheEnablePro(true);
end;
procedure TTCourseStatisticsForm.BitBtn7Click(Sender: TObject);
begin
close;
end;
procedure TTCourseStatisticsForm.btnReportClick(Sender: TObject);
begin
TCourseStatisticsQRForm.QuickRep1.Preview;
end;
procedure TTCourseStatisticsForm.BitBtn2Click(Sender: TObject);
begin
adoquery1.Open;
if adoquery1.FieldByName('trno').AsString<>''then
begin
showmessage('此记录已添加过,可做修改!');
end
else
begin
ControlTheEnablePro(false);
edttrstandard.Text:='';
edttraward.Text:='';
edttremuneration.Text:='';
edttrtaxrate.Text:='';
edttrtax.Text:='';
edttrwages.Text:='';
edttrsignature.Text:='';
edttrtax.SetFocus;
flag:=1;
end;
end;
procedure TTCourseStatisticsForm.BitBtn3Click(Sender: TObject);
var
sqlstr:string;
begin
if messagebox(handle,'您确定要删除吗?','提示',MB_YESNO + MB_ICONQUESTION)=ID_yes then
begin
sqlStr := 'delete from TCourseReward2 where trno='+quotedstr(temptrno);
ToExecSQL(sqlStr, DM.ADOConnection1);
showmessage('删除成功!');
adoquery1.Close;
adoquery1.Open;
end;
end;
procedure TTCourseStatisticsForm.Button2Click(Sender: TObject);
begin
with adoquery1 do
begin
sql.Text:='select distinct tt.tno,tt.tname,tt.tpost,tt.tcdepartment,tcr.trno,tcr.tcscode ,tcr.trstandard,tcr.traward,tcr.tremuneration,tcr.trtaxrate,tcr.trtax,'+
'tcr.trwages,tcr.trsignature,tt.tbool,tcr.trlessonscount from TCourseReward2 tcr right outer join tteacher tt on tt.tno=tcr.tcscode';
open;
end;
end;
procedure TTCourseStatisticsForm.Button3Click(Sender: TObject);
begin
with adoquery1 do
begin
sql.Text:='select distinct tt.tno,tt.tname,tt.tpost,tt.tcdepartment,tcr.trno,tcr.tcscode ,tcr.trstandard,tcr.traward,tcr.tremuneration,tcr.trtaxrate,tcr.trtax,'+
'tcr.trwages,tcr.trsignature,tt.tbool,tcr.trlessonscount from TCourseReward2 tcr inner join tteacher tt on tt.tno=tcr.tcscode';
open;
end;
end;
function TTCourseStatisticsForm.GetUno: string;
var
UnoQry: TADOQuery;
id: string;
begin
UnoQry := TADOQuery.Create(self);
with Unoqry do
begin
Connection := dm.ADOConnection1;
sql.Text := 'select max(trno) as id from TCourseReward2';
Open;
id := fieldbyName('id').AsString;
if id='' then
id:='1'
else
id:=inttostr(strtoint(id)+1);
end;
Result := id;
UnoQry.Free;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -