Office中国论坛/Access中国论坛
标题:
欢迎大家讨论以下实例。在ADP+SQL2000环境中数据操作。以共同提高ADP和SQL2000。
[打印本页]
作者:
yuab
时间:
2002-8-1 17:07
标题:
欢迎大家讨论以下实例。在ADP+SQL2000环境中数据操作。以共同提高ADP和SQL2000。
问题:
一张单据,单据记录的笔数不等,可能有1~10笔,也可能有1000笔以上。这张单据是历史单据中的一张,是通过存储过程加参数将这张单据的记录找出来的。
要求:
将这张单据做成报表,每页报表固定有23笔记录,在最后一页不满23笔记录时补满空白记录到报表中。以填满一页。(声明:在此不讨论在报表中用代码来控制的方法。)只充许填空白记录办法。
办法:
大家用什么办法来解决这个问题。
我的做法是这样的:
1:在VBA中新建一个结构上和单据结构一样的临时表到SQL2000中。
2:在VBA中将这张单据的所用记录循环增加到临时表中。
3:在VBA中取得还需要的空白记录笔数同时增加到临时表中。
4:将临时表作为报表的来源。
5:关闭报表时删除临时表。
以上办法可以达到效果,但是在第2个操作时有问题。假如有1000笔记录,每笔记录又很多的栏位。逐笔循环的效率太低了。不符合最佳设计。用产生查询也不行,因为存储过程有参数所以不能象在mdb中的产生查询一样一次性将全部记录产生到临时表中。
以上是实际应用会遇到的问题。欢迎大家讨论!
作者:
sdlhlsd
时间:
2002-8-1 18:30
应该查询一次追加可以吧
主要问题在哪里呢
作者:
eggh
时间:
2002-8-2 04:03
在存储过程中用while循环,或用T-SQL服务器端游标如何?
作者:
HG
时间:
2002-8-2 16:54
簡單,用生成表函數,讓您的數據源為哪個函數即可,
對空白記錄的填充功能要在用成表函數內擴定.
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3