设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1650|回复: 3
打印 上一主题 下一主题

欢迎大家讨论以下实例。在ADP+SQL2000环境中数据操作。以共同提高ADP和SQL2000。

[复制链接]
跳转到指定楼层
1#
发表于 2002-8-1 17:07:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问题:
一张单据,单据记录的笔数不等,可能有1~10笔,也可能有1000笔以上。这张单据是历史单据中的一张,是通过存储过程加参数将这张单据的记录找出来的。
要求:
将这张单据做成报表,每页报表固定有23笔记录,在最后一页不满23笔记录时补满空白记录到报表中。以填满一页。(声明:在此不讨论在报表中用代码来控制的方法。)只充许填空白记录办法。
办法:
    大家用什么办法来解决这个问题。
我的做法是这样的:
1:在VBA中新建一个结构上和单据结构一样的临时表到SQL2000中。
2:在VBA中将这张单据的所用记录循环增加到临时表中。
3:在VBA中取得还需要的空白记录笔数同时增加到临时表中。
4:将临时表作为报表的来源。
5:关闭报表时删除临时表。
以上办法可以达到效果,但是在第2个操作时有问题。假如有1000笔记录,每笔记录又很多的栏位。逐笔循环的效率太低了。不符合最佳设计。用产生查询也不行,因为存储过程有参数所以不能象在mdb中的产生查询一样一次性将全部记录产生到临时表中。
        以上是实际应用会遇到的问题。欢迎大家讨论!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2002-8-1 18:30:00 | 只看该作者
应该查询一次追加可以吧
主要问题在哪里呢
3#
发表于 2002-8-2 04:03:00 | 只看该作者
在存储过程中用while循环,或用T-SQL服务器端游标如何?
4#
发表于 2002-8-2 16:54:00 | 只看该作者
簡單,用生成表函數,讓您的數據源為哪個函數即可,
對空白記錄的填充功能要在用成表函數內擴定.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-29 23:41 , Processed in 0.084769 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表