动态设置交叉报表
时 间:2012-09-17 17:24:36
作 者:薛武元 ID:240 城市:常州
摘 要: 最近为交叉报表的问题苦恼,记得以前有人发过一个动态设置的,找不到了,思路是设置足够多的字段,然后用代码设置标签和字段数据源,然后隐藏不需要显示的。
我按此思路做了个例子,不知道有没有更好的办法~ 如果有的话,欢迎跟帖!~
正 文:
最近为交叉报表的问题苦恼,记得以前有人发过一个动态设置的,找不到了,思路是设置足够多的字段,然后用代码设置标签和字段数据源,然后隐藏不需要显示的。
我按此思路做了个例子,不知道有没有更好的办法~ 如果有的话,欢迎跟帖!~
主要代码如下:
Private Sub Command0_Click()
On Error GoTo Err_Command0_Click
Dim FieldCount As Integer '字段数
FieldCount = CurrentDb.QueryDefs("score_交叉查询").Fields.Count
Dim stDocName As String '报表名称
Dim Lb As Label
Dim txt As TextBox
stDocName = "score_交叉报表"
DoCmd.OpenReport stDocName, acViewDesign
'-------------------------------------------------------------------------------------------------------------------------------------
'设置报表标签和数据源
Dim i As Integer
For i = 1 To FieldCount - 1
Reports("SCORE_交叉报表").Controls("Label" & i).Caption = CurrentDb.QueryDefs("score_交叉查询").Fields(i).Name '设置标签
Reports("SCORE_交叉报表").Controls("TXT" & i).ControlSource = CurrentDb.QueryDefs("score_交叉查询").Fields(i).Name '更改数据源
Next
'-------------------------------------------------------------------------------------------------------------------------------------
'将没有用到的控件隐藏
Dim n As Integer
Dim INTcount As Integer
INTcount = 9 - FieldCount '9是此报表预先准备的字段数量
For n = 1 To 9
If n < FieldCount Then
Reports("SCORE_交叉报表").Controls("Label" & n).Visible = True
Reports("SCORE_交叉报表").Controls("txt" & n).Visible = True
Else
Reports("SCORE_交叉报表").Controls("Label" & n).Visible = False
Reports("SCORE_交叉报表").Controls("txt" & n).Visible = False
End If
Next
'-----------------------------------------------------------------------------------------------------
DoCmd.Close acReport, "score_交叉报表", acSaveYes
DoCmd.OpenReport "score_交叉报表", acViewPreview
Exit_Command0_Click:
Exit Sub
Err_Command0_Click:
MsgBox Err.Description
Resume Exit_Command0_Click
End Sub
附件点击下载此
Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access快速开发平台--对上传...(11.22)
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)
- 微软Access邀测新Monaco...(11.12)
- Access列表框左右互选、列表框...(11.11)
- 高效率在导入数据前删除记录(11.10)
- Access报价单转订单示例代码(11.08)
- Access系统自带的日期选择器不...(11.08)