Office中国论坛/Access中国论坛

标题: 跨页多联报表例子 [打印本页]

作者: 咱家是猫    时间: 2011-7-21 21:03
标题: 跨页多联报表例子
本帖最后由 咱家是猫 于 2011-8-11 16:41 编辑

记得这是我在Access擂台区发起的一个竞赛,记得事后一直未分享MDB,现在发上来共享之.

[attach]46168[/attach]
  1. Option Compare Database
  2. Option Explicit
  3. Private LngA As Long, LngB As Long
  4. Private lngRows As Long
  5. 'BStr常量字符串为此报表右则需要标注的信息,此字符串长度需参照固定行数
  6. Private Const BStr = "白联:财务 红联:客户 黄联:留底"
  7. Private myASum As Double '本页合计
  8. Private myBSum As Double '总计

  9. Private Sub 页面页眉_Print(Cancel As Integer, PrintCount As Integer)

  10. LngB = 0: myASum = 0
  11. If Me.Pages <> 1 Then
  12. Me.出库单 = Me.出库单号 & "-" & Me.Page
  13. Else
  14. Me.出库单 = Me.出库单号
  15. End If

  16. End Sub

  17. Private Sub 主体_Print(Cancel As Integer, PrintCount As Integer)

  18. Dim intAllRows As Integer
  19. Dim objCtl As Control

  20. LngA = LngA + 1: LngB = LngB + 1
  21. Me.BLabel.Caption = GetBL(LngB)

  22. lngRows = 20
  23. If intAllRows = 0 Then
  24. If txtTotGrp Mod lngRows = 0 Then
  25. intAllRows = txtTotGrp
  26. Else
  27. intAllRows = (Fix(txtTotGrp / lngRows) + 1) * lngRows
  28. End If
  29. End If
  30. If LngA <= txtTotGrp Then
  31. For Each objCtl In Me.Section(0).Controls
  32. If objCtl.ControlType = acTextBox Then
  33. With objCtl
  34. .Visible = True
  35. End With
  36. End If
  37. Next objCtl
  38. myASum = myASum + Me.金额 '累计金额(本页小计)
  39. myBSum = myBSum + Me.金额 '累计金额(总计)
  40. Else
  41. If LngA = intAllRows + 1 Then LngA = 1
  42. For Each objCtl In Me.Section(0).Controls
  43. If objCtl.ControlType = acTextBox Then
  44. With objCtl
  45. .Visible = False
  46. End With
  47. End If
  48. Next objCtl
  49. End If
  50. If txtTotGrp < intAllRows Then
  51. If LngA < txtTotGrp Then
  52. Me.NextRecord = True
  53. ElseIf (LngA >= txtTotGrp And LngA < intAllRows) Then
  54. Me.NextRecord = False
  55. Else
  56. Me.NextRecord = True
  57. End If
  58. Else
  59. Me.NextRecord = True
  60. End If

  61. End Sub

  62. Private Sub 页面页脚_Format(Cancel As Integer, FormatCount As Integer)

  63. Me.总计标签.Visible = (Me.Page = Me.MyPages)
  64. Me.大写总计.Visible = (Me.Page = Me.MyPages)
  65. Me.小写总计.Visible = (Me.Page = Me.MyPages)
  66. Me.MyPageTipText.Visible = (Me.Page < Me.MyPages)
  67. Me.小写小计 = "¥" & myASum
  68. Me.大写小计 = "(大写)" & UCaseCur(myASum, 1)
  69. If Me.Page = Me.MyPages Then
  70. Me.小写总计 = "¥" & myBSum
  71. Me.大写总计 = "(大写)" & UCaseCur(myBSum, 1)
  72. End If

  73. End Sub

  74. Function GetBL(I As Long) As String
  75. GetBL = Mid(BStr, I, 1)
  76. End Function

复制代码


[attach]46169[/attach]

作者: daxin1    时间: 2011-7-21 21:22
哈哈

作者: liaohk    时间: 2011-7-21 21:45

作者: sxb2007    时间: 2011-7-21 22:18
谢谢分享!!
作者: 冚友    时间: 2011-7-21 22:35
学习学习~
作者: yanwei82123300    时间: 2011-7-22 07:14
谢谢分享!!

作者: gaofei186    时间: 2011-7-22 07:25
看看一下
作者: xie62    时间: 2011-7-22 07:29
谢谢分享!!
作者: 轻风    时间: 2011-7-22 08:08
猫哥这几天大发慈悲,一口气发上这么多实例。
作者: xuwenning    时间: 2011-7-22 08:16
收藏了
谢谢分享
作者: qczvba    时间: 2011-7-22 08:56
多谢版主分享。谢了!
作者: fine88888888    时间: 2011-7-22 09:00
看看
作者: asklove    时间: 2011-7-22 10:11
实用,好教程
作者: iamee    时间: 2011-7-22 13:54
xiexie
作者: jingyu    时间: 2011-7-22 14:21
谢谢,学习学习
作者: ycxchen    时间: 2011-7-22 16:31
谢谢,学习!
作者: lmqlt    时间: 2011-7-23 00:16
谢谢分享
作者: duomu    时间: 2011-7-23 17:45
谢谢分享
作者: YXH_YXH    时间: 2011-7-23 22:23
跨页多联报表例子 。多谢!!!
作者: huangqinyong    时间: 2011-7-24 09:30
谢谢分享
作者: jackysu78    时间: 2011-7-24 09:41
学习
作者: 简    时间: 2011-7-25 13:45
好东西我也看看。
作者: yanzi520    时间: 2011-7-25 14:53

作者: towerman    时间: 2011-7-29 14:13
路过  收下
作者: zyp    时间: 2011-7-29 16:27
谢谢
作者: 宿命的风    时间: 2011-8-9 16:34

作者: kdjifir34562    时间: 2011-8-11 13:22
谢谢分享!!

作者: changweiren    时间: 2012-2-21 22:58
好好学习报表知识谢谢楼主
作者: huangli0356    时间: 2012-10-18 08:04
顶一个..
作者: purplerose    时间: 2015-8-19 20:37
不错,学习一下
作者: officeifans    时间: 2017-4-3 10:55
学习
作者: YXH_YXH    时间: 2018-4-12 07:26
谢谢分享!!!
作者: 灰太郎    时间: 2020-9-20 16:17
444444




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3