连续打印发票,用循环控制,为什么QRLABEL值总是第一条记录的值???(分数倾囊相送!!) ( 积分: 76 )

  • 主题发起人 主题发起人 huzhuqing
  • 开始时间 开始时间
H

huzhuqing

Unregistered / Unconfirmed
GUEST, unregistred user!
QRDBTEXT的内容会根据数据表的移动而变化,qr的dataset值为adoquery1,
为什么QRLABEL的内容不变?????(如QRLABEL1:=formatfloat('0.00',adoquery1.fieldbyname('合计金额').AsFloat),应该在哪里控制循环??
程序如下:
with adoquery1do
begin
if recordcount>0 then
begin
first;
while not eofdo
begin
QRLABEL1:=formatfloat('0.00',adoquery1.fieldbyname('合计金额').AsFloat);
qrdbtext1.DataField:='用户号';
....(还有几个QRLABEL和qrdbtext,和给它们定位的值)
qr1.preview;
next;
end
 
QRDBTEXT的内容会根据数据表的移动而变化,qr的dataset值为adoquery1,
为什么QRLABEL的内容不变?????(如QRLABEL1:=formatfloat('0.00',adoquery1.fieldbyname('合计金额').AsFloat),应该在哪里控制循环??
程序如下:
with adoquery1do
begin
if recordcount>0 then
begin
first;
while not eofdo
begin
QRLABEL1:=formatfloat('0.00',adoquery1.fieldbyname('合计金额').AsFloat);
qrdbtext1.DataField:='用户号';
....(还有几个QRLABEL和qrdbtext,和给它们定位的值)
qr1.preview;
next;
end
 
这个问题比较容易解决吧,你的QRLABEL1和qrdbtext1位置放的不正确。具体是在哪一个BAND上面的,我也记不清楚的,你在后面的几个里多试试吧、。
 
qrlabel1的值应在它所在的DETAILBAND的BEFOREPRINT事件里改变它!
 
都放在detailband里,放在什么位置,是根据发票的位置决定的.
我先试试 !!1
 
整个循环都放在 BEFOREPRINT事件里吗??
 
问题解决了,谢谢!!
还想请教qr4中当我把字体设为 '宋体'时,QRLABEL的中文字都作了90度的旋转,怎么解决呢??
马上放分了
 
后退
顶部