大家新年快乐!我是新手,有个有关报表的问题需要大家帮忙.把全部积分奉上(200分)

  • 主题发起人 主题发起人 sunboy666
  • 开始时间 开始时间
S

sunboy666

Unregistered / Unconfirmed
GUEST, unregistred user!
我需要建立这样一种的报表,请问用delphi怎么做呀.报表里的数据是从工人问题表(工号,问题编号),工人目标表(工号,目标编号),工人措施(工号,措施编号)里查询出来的
++++计划
姓名.... 工号...
---------------------
一.问题1
目标
1.
措施
1.
二.问题2
目标
1.
2....
.
.
措施
1.
2....
....
...
...
...
签名:
日期:
---------------------
备注:数据库里有工人问题表(工号,问题编号),工人目标表(工号,目标编号),工人措施(工号,措施编号).另外还有问题表(问题编号,问题内容),目标表(目标编号,目标内容),措施表(措施编号,措施内容)等(其中目标编号和措施编号都以问题编号为前缀)请详细说明
 
用fastreport 或 reportmachine 应该可以做得出来
 
用 Printer.canvas
代码量大了些,但是很不错的.
 
能不能具体点呀
 
在USER中加入Printers

with Printerdo
begin
begin
Doc;
Canvas.TextRect(Rect(200,200,PageWidth-200,PageHeight-200),//打印大小
200, 200, 我的文字);//开始位置,
EndDoc;
你想要打印的东西就加在begin
DOC 和ENDDOC中间.
PRINTER有一个COPIES,打印份数.
通过CANVAS,可以有你想要的任何效果.
具体看printer单元.
 
我没有用过Printer.canvas
希望你能给个详细的例子
 
自己先试吧,对不起,偶要去老婆哪啊,否则上不了床.要的话明天给你完整的代码,好不好??????
 
好的.麻烦你了
 
var
empname,empid:string;
x,y,z:integer;//循环计数变量
 linex,liney:integer;打印位置变量;
begin
 
with qryempdo
//qryemp:选择工人查询
begin

close;
sql.clear;
sql.text := 'select 姓名,工号 from 工人表 ';
open ;
if recordcount >0 then

begin

for x := recordcount -1do
wnto 0 do

begin
empname := fields[0].asstring;;
    empid := fields[1].asstring;
   linex := 0;//初始化位置;
liney := 0;
begin
doc
printer.canvas.textout(linex,liney,'姓名:'+empname+' '+ '工号:'+empid);
liney := liney+1;
printer.canvas.textout(linex,liney,'--------------');
with qryquesdo
//qryques问题查询
begin
       close;
sql.clear;
sql.text :='select 问题编号 from 工人问题表 where 工号='+empid;
open;
if recordcount >0 then

begin
printer.canvas.textout(linex,liney,'问题1');
//下面的和上面的照样做就可以了

end;

end;

end;

end;
end;
enddoc;
end;

这个是顺序式的,你可以把每个查询做成一个过程.依次调用过程就可以了.
 
dancekids你有用这个做的例子么,
我没用过这个
看者有些明白
但是还是不太会用
谢谢你了!对了有QQ没
 
倒.
没有例子,临时给你做的啊.
你要完整的话你先说详细一些我才能给你做啊
 
详细说明
 
谢谢你!!dancekids!
 
结贴啦,朋友
 
其实还没
哪个bug我没高顶
 
我把数据库里改了
不过还是不行
 
我把分加错了!!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部