FASTReport打印问题. ( 积分: 100 )

  • 主题发起人 主题发起人 ydysn
  • 开始时间 开始时间
Y

ydysn

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TfrmMain.timCheckDataTimer(Sender: TObject);
var
qryTmp : tadoquery;
t : Tfrview;
i : integer;
TotalRecord : integer;
begin

timCheckData.Enabled := false;
qryTmp := tadoquery.Create(self);
// TRI.Hint := '正在打印';

qrytmp.SQL.Clear;
qryTMp.SQL.Add('select txy.* from tab_xyinfo txy,tab_ks tk where txy.sfzmhm = tk.userid and tk.score>=90 and txy.status2=5 and tk.ksrq=date' + #39 + matdatetime('yyyy-mm-dd',now) + #39 + ' and txy.ksc=' + #39 + 'AAAAAAA' + #39 + ' and rownum<2' );
qryTmp.Connection := adoconn;
qryTmp.Open;

if qryTMp.Eof then
begin

end
else
begin
// timCheckData.Enabled := false;
//定时器暂时停止
//开始打印程序
adoqry.Close;
adoqry.SQL.Clear;
adoqry.SQL.Add('select * from (select * from uks.vw_print_ksinfo where userid=' + #39 + qryTmp.fieldbyname('sfzmhm').AsString + #39 + ' order by id desc,ksrq desc) where rownum<7');
adoqry.Open;
setlength(ttri,adoqry.RecordCount);
i := adoqry.RecordCount - 1;
TotalRecord := i + 1;
while not adoqry.Eofdo
begin
ttri.score := adoqry.fieldbyname('score').AsInteger;
ttri.ky1 := adoqry.fieldbyname('ky1').AsString;
ttri.ky2 := adoqry.fieldbyname('ky2').AsString;
ttri.ksrq := formatdatetime('yyyy-mm-dd',adoqry.fieldbyname('ksrq').AsDateTime);
i := i - 1;
adoqry.Next;
end;
adoqry.First;
// showmessage(ExtractFilePath(ParamStr(0))+'test.frf');
if not adoqry.Eof then
begin

with rptHandindo
begin
LoadFromFile(ExtractFilePath(ParamStr(0))+'test.frf');
t := tfrview( FindObject('Memo2'));
//姓名
if assigned(t) then
begin
// showMessage(t.Memo.Text);
t.Memo.Text := adoqry.fieldbyname('xm').asstring;
end;
t := tfrview( FindObject('Memo1'));
//身份证号
if assigned(t) then
begin
t.Memo.Text := adoqry.fieldbyname('userid').asstring;
end;

t := tfrview( FindObject('Memo3'));
//车型
if assigned(t) then
begin
t.Memo.Text := adoqry.fieldbyname('kscx').asstring;
end;

t := tfrview( FindObject('Memo4'));
//车型
if assigned(t) then
begin
t.Memo.Text := adoqry.fieldbyname('pxd').asstring;
end;

t := tfrview( FindObject('Memo5'));
//性别
if assigned(t) then
begin
if adoqry.fieldbyname('XB').asstring='1' then
t.Memo.Text := '男'
else
t.Memo.Text := '女';
end;
{ t := tfrview( FindObject('Memo5'));
//性别
if assigned(t) then
begin
t.Memo.Text :=adoqry.fieldbyname('kscx').asstring;
end;

}
// for
t := tfrview( FindObject('Memo10'));
//准考证号
if assigned(t) then
begin
t.Memo.Text := adoqry.fieldbyname('zkzmbh').asstring;
end;

for i:=0 to TotalRecord - 1do
begin
if i=0 then
begin
t := tfrview( FindObject('Memo6'));
//准考证号
if assigned(t) then
begin
t.Memo.Text := inttostr(ttri.score);
end;
t := tfrview( FindObject('Memo7'));
//准考证号
if assigned(t) then
begin
t.Memo.Text := ttri.ky1;
end;
t := tfrview( FindObject('Memo8'));
//准考证号
if assigned(t) then
begin
t.Memo.Text := ttri.ky2;
end;
t := tfrview( FindObject('Memo9'));
//准考证号
if assigned(t) then
begin
t.Memo.Text := ttri.ksrq;
end;

end;

if i=1 then
begin
t := tfrview( FindObject('Memo11'));
//准考证号
if assigned(t) then
begin
t.Memo.Text := inttostr(ttri.score);
end;
t := tfrview( FindObject('Memo12'));
//准考证号
if assigned(t) then
begin
t.Memo.Text := ttri.ky1;
end;
t := tfrview( FindObject('Memo13'));
//准考证号
if assigned(t) then
begin
t.Memo.Text := ttri.ky2;
end;
t := tfrview( FindObject('Memo14'));
//准考证号
if assigned(t) then
begin
t.Memo.Text := ttri.ksrq;
end;

end;

if i=2 then
begin
t := tfrview( FindObject('Memo15'));
//准考证号
if assigned(t) then
begin
t.Memo.Text := inttostr(ttri.score);
end;
t := tfrview( FindObject('Memo16'));
//准考证号
if assigned(t) then
begin
t.Memo.Text := ttri.ky1;
end;
t := tfrview( FindObject('Memo17'));
//准考证号
if assigned(t) then
begin
t.Memo.Text := ttri.ky2;
end;
t := tfrview( FindObject('Memo18'));
//准考证号
if assigned(t) then
begin
t.Memo.Text := ttri.ksrq;
end;

end;

if i=3 then
begin
t := tfrview( FindObject('Memo19'));
//准考证号
if assigned(t) then
begin
t.Memo.Text := inttostr(ttri.score);
end;
t := tfrview( FindObject('Memo20'));
//准考证号
if assigned(t) then
begin
t.Memo.Text := ttri.ky1;
end;
t := tfrview( FindObject('Memo21'));
//准考证号
if assigned(t) then
begin
t.Memo.Text := ttri.ky2;
end;
t := tfrview( FindObject('Memo22'));
//准考证号
if assigned(t) then
begin
t.Memo.Text := ttri.ksrq;
end;

end;

if i=4 then
begin
t := tfrview( FindObject('Memo23'));
//准考证号
if assigned(t) then
begin
t.Memo.Text := inttostr(ttri.score);
end;
t := tfrview( FindObject('Memo24'));
//准考证号
if assigned(t) then
begin
t.Memo.Text := ttri.ky1;
end;
t := tfrview( FindObject('Memo25'));
//准考证号
if assigned(t) then
begin
t.Memo.Text := ttri.ky2;
end;
t := tfrview( FindObject('Memo26'));
//准考证号
if assigned(t) then
begin
t.Memo.Text := ttri.ksrq;
end;

end;
if i=5 then
begin
t := tfrview( FindObject('Memo27'));
//准考证号
if assigned(t) then
begin
t.Memo.Text := inttostr(ttri.score);
end;
t := tfrview( FindObject('Memo28'));
//准考证号
if assigned(t) then
begin
t.Memo.Text := ttri.ky1;
end;
t := tfrview( FindObject('Memo29'));
//准考证号
if assigned(t) then
begin
t.Memo.Text := ttri.ky2;
end;
t := tfrview( FindObject('Memo30'));
//准考证号
if assigned(t) then
begin
t.Memo.Text := ttri.ksrq;
end;

end;
end;


GUSERID := adoqry.fieldbyname('userid').AsString;
{ if assigned(t) then
t.Memo.Text := 'ydysn';
}
PrepareReport;
// (rptHandin.FindObject('USERNM') as TfrPictureView).Memo.ValueFromIndex[0]:='aaa';
PrintPreparedReport('',1,True,frAll);
// showreport;
// PrintPreparedReportDlg;
// ShowPrintDialog;
adoconn.Execute('update tab_xyinfo set status2=7 where sfzmhm=' + #39 + GUSERID + #39);
end;
end;
//打印完毕定时器打开
adoqry.Close;
qryTmp.Close;
adoconn.Close;
// showmessage('开始打印')
end
timCheckData.Enabled := true;
end
timCheckData 为定时器.每3秒执行一次

现在是会一次性打出非常相同的张...
 
没搞懂嘛意思.
 
意思是每三秒打印一次..但每一次的绝对是不同的.现在变成相同的了.
 
数据每三秒重新提取,最好是通过游标提取数据,在对结果打印
 
后退
顶部