设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2937|回复: 5

[报表] 紧急请教:如何灵活显示报表?

[复制链接]
发表于 2010-3-9 11:12:05 | 显示全部楼层 |阅读模式
本帖最后由 goto2008 于 2010-3-9 11:15 编辑

我有一个报表,比如查询了当前订单号时,它总页数为4页,
每次点击预览按扭时,老是显示第一页,老是得人为的去右健---多页---选择2*2页

我想实现的是,点击预览按扭,马上显示的是四张缩小的报表。

比如:如果有四张报表,电脑就灵活的显示2*2页的模式。
            二张报表,电脑就灵活的显示1*2页的模式。

比如:单号为3487/08/PI这个报表就有四页。。。



我想实现的是如图片中的效果,请指教,谢谢

本帖子中包含更多资源

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

x
发表于 2010-3-9 11:35:13 | 显示全部楼层
不知道是否有分页显示功能,呵呵。
 楼主| 发表于 2010-3-9 11:48:42 | 显示全部楼层
我想实现的,就是按总页数,让ACC自动选择比较接近的“多页”---1*1   1*2   1*3   2*2   2*3什么的。
不知怎么实现,搜了很多贴子,都没有见过有人问过这个问题。。
这个问题也是我最近比较困扰的。

点击这里给我发消息

发表于 2010-3-9 12:37:09 | 显示全部楼层
在窗体模块中添加如下过程:

  1. Private Function AutoToPage(ReportName As String)

  2. Select Case Reports(ReportName).Pages
  3. Case 1
  4. DoCmd.RunCommand acCmdPreviewOnePage
  5. Case 2
  6. DoCmd.RunCommand acCmdPreviewTwoPages
  7. Case 3, 4
  8. DoCmd.RunCommand acCmdPreviewFourPages
  9. Case 5, 6, 7, 8
  10. DoCmd.RunCommand acCmdPreviewEightPages
  11. Case Else
  12. DoCmd.RunCommand acCmdPreviewTwelvePages
  13. End Select

  14. End Function
复制代码


然后在打开报表的代码后调用,如:
  1. Private Sub 预览_Click()
  2. On Error GoTo Err_预览_Click

  3. Dim stDocName As String

  4. stDocName = ChrW(20570) & ChrW(-29401) & ChrW(21333)
  5. DoCmd.OpenReport stDocName, acPreview, , "[单号]='" & Me.单号 & "'"
  6. AutoToPage stDocName

  7. Exit_预览_Click:
  8. Exit Sub

  9. Err_预览_Click:
  10. MsgBox Err.Description
  11. Resume Exit_预览_Click

  12. End Sub
复制代码
 楼主| 发表于 2010-3-9 12:56:08 | 显示全部楼层
非常感谢小雨大哥,我想的效果就是这样的。
发表于 2010-3-9 15:48:17 | 显示全部楼层
学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-28 18:55 , Processed in 0.096876 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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