设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: Ajoe
打印 上一主题 下一主题

[报表] 如何让报表自动满页并限定满页的行数?

[复制链接]
11#
 楼主| 发表于 2004-4-10 20:00:00 | 只看该作者
我还是看不懂,帮我看看我这个应该怎么来做,我放了限制打印17行的代码。
帮我吧!谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
12#
发表于 2004-4-11 00:45:00 | 只看该作者

土豆的方法

To Ajoe:
土豆的方法,不知是否满意?土豆的水平不低。
——————————————
Do Our Job Well   Try Anything Once

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
13#
发表于 2004-4-11 00:57:00 | 只看该作者
给你解释一下程序

'打印按钮单击
Private Sub cmdPrint_Click()
Dim RcdCount, i
    '先清除空白记录
    CurrentDb.Execute "DELETE * FROM Bill WHERE PID=0"
    '取现有当前记录数
    RcdCount = objList.Form.Recordset.RecordCount
    '插入需要的空白记录(例如满页为50行,则插入(50-现有记录数)条空白记录)
    For i = 1 To (50 - RcdCount)
        CurrentDb.Execute "INSERT INTO Bill(PID) VALUES(0)"
    Next
    '打开报表
    DoCmd.OpenReport "rptBill", acViewPreview
    DoCmd.Maximize
End Sub
14#
 楼主| 发表于 2004-4-11 04:54:00 | 只看该作者
1、会出现删除警告窗口!这样不够完美。
2、RcdCount = objList.Form.Recordset.RecordCount,这句我的通不过。
15#
 楼主| 发表于 2004-4-11 06:33:00 | 只看该作者
解决了!
  1、把下拉菜单“工具”→“选项”,里面“编辑/查找”中的“操作查询”去掉√,目的是不出现查询操作的询问窗口。
  2、请看我的实例。已经解决了每页限制打印17行,不足17行的也会补足。原理是:用一个临时的数据表PrintTmp,利用名字叫MyInse的这个追加查询对临时表进行写操作,然后,把报表的数据源对准这个临时表就行了。
=========================

=========================
但是还有不明白的地方:

    RequeryName = "MyInse"                  '给变量赋值,是名字叫做"MyInse"的追加查询
    DoCmd.OpenQuery RequeryName             '打开查询

    Me.Requery                          '???
  Me.Recordset.MoveFirst       '???
    Me.Recordset.MoveLast        '???这些用来做什么的?为什么要这样用呢?

    RcdCount = Me.Recordset.RecordCount     '给变量赋值,是当前的数据记录数










[此贴子已经被作者于2004-4-10 22:36:19编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-21 17:40 , Processed in 0.098854 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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