如何实现只对可勾选的记录进行打印,请帮助 (50分)

  • 主题发起人 主题发起人 chengcheng178
  • 开始时间 开始时间
文件已经上传
http://qiangzhe.8u8.com/dd.rar
直接运行exe可以看见结果
 
TO TYZhang:
我则才测试过了,能编译过去,form1.query2提向哪条记录就打哪条,勾选记录不起作用,
请帮助!
 
不可能,你是不是写错了,你这样分析一下:
1、Format('编号[%s] 姓名[%s]',[DataSet.Fields[0].AsString,DataSet.Fields[2].AsString])是按你CheckListBox方式取数据;
2、Form2.CheckListBox1.Items.IndexOf(。。。)是取这条记录在CheckListBox中的位置;
3、Form2.Checklistbox1.Checked[...]是判断checkListBox有没有Checked
4、Accept:=。。。表示如果选中就显示、打印。
 
TO maozhuxi:
你好我已经下载下来,当点char 和chax提示:不是一个有效的路径db1.mdb
 
重新设置adoquery
doquery1-》选connectstring>提供者--最上面哪个》连接--到正确的db1路径....
运行
 
doquery2一样
 
TO TYZhang:
我的程序流程是这样的
在form1中对指定的数据库进行读取,数据库中贮存了学生和图片的信息,学生和图片是多对多的关系
通过form2中Button3提取出不同学生的基本信息,已经能成功实现.
procedure TForm2.Button3Click(Sender: TObject);
begin
with form1.ADOQuery2,CheckListBox1do
begin
SQL.Clear;
SQL.Add('SELECT distinct xingming,bianhao,sheng,xian,nyear,nmouth,nday FROM exportable');
Prepared;
Open;
//////////////////////////////////
Clear;
First;
while not eofdo
begin
Items.Add(Format('编号[%s] 姓名[%s]',[Fields[0].AsString,Fields[2].AsString]));
Next;
end;
end;
end;
对CheckListBox1中的记录进行勾选,在form2中再点你说的程序Button4,出现form4,只能打印adoquery1中的一条记录,与勾选无关系,不知是为什么?请帮助
 
TO maozhuxi:
你用的是delphi7.0是吗,我用delph6.0打开后无法编译过去,缺少控件
 
http://www.lkinfo.net/dd.rar
 
TO TYZhang:
谢谢,我打开了你的可执行文件,作的很好,和我的流程是一样的,还有一个小问题就是在最后打印预览form4时,把每一条可勾选的记录都要以独立的一页来显示。请把相关的代码写一下,非常感谢!
 
你把QuickRep的DetailBand拉的足够大,与页头页尾刚好组成一页,这样你的一条记录就占一页了。http://www.lkinfo.net/dd.rar
 
TO TYZhang:
我已经下载下来了,可以一条记录一页显示了,谢谢您!
对照你的程序我再调整一下我的程序,看是否能过
 
多人接受答案了。
 
上面的太罗嗦,用一个内存表控件不就完成了吗?
选中的加入内存表呀。
 
后退
顶部