Office中国论坛/Access中国论坛

标题: 动态分类汇总 [打印本页]

作者: Henry D. Sy    时间: 2008-12-27 21:45
标题: 动态分类汇总
  1. Private Sub Command6_Click()

  2.     Dim Qdf As DAO.QueryDef
  3.     Dim varI As Variant
  4.     Dim strGrp As String, strSum As String
  5.     Dim strSQL As String, strGrpFldName As String

  6.     For Each varI In Me.List0.ItemsSelected
  7.         strGrp = strGrp & Me.List0.ItemData(varI) & ","
  8.     Next
  9.     For Each varI In Me.List2.ItemsSelected
  10.         strSum = strSum & "Sum(" & Me.List2.ItemData(varI) & ") As 总" & _
  11.                  Me.List2.ItemData(varI) & ","
  12.     Next
  13.     If strGrp = "" Then
  14.         MsgBox "请选择分组项目"
  15.         Exit Sub
  16.     ElseIf strSum = "" Then
  17.         MsgBox "请选择统计项目"
  18.         Exit Sub
  19.     End If
  20.     Set Qdf = CurrentDb.QueryDefs("B")
  21.     strSum = Left(strSum, Len(strSum) - 1)
  22.     strGrpFldName = Left(strGrp, Len(strGrp) - 1)
  23.     strSQL = "select " & strGrp & strSum & " from a group by " & strGrpFldName
  24.     Qdf.SQL = strSQL
  25.     Me.Child4.SourceObject = "查询.b"
  26.     Qdf.Close
  27.     Set Qdf = Nothing
  28. End Sub
复制代码


增加一个动态生成行来源

Private Sub Form_Load()

    Dim rs As New ADODB.Recordset
    Dim strListTRowSource As String
    Dim strListDRowSource As String
    Dim i As Integer
   
    With rs
        .Open "A", CurrentProject.Connection, adOpenKeyset, adLockReadOnly
        For i = 0 To .Fields.Count - 1
            If .Fields(i).Type = 202 Then
                strListTRowSource = strListTRowSource & .Fields(i).Name & ";"
            ElseIf .Fields(i).Type = 3 Then
                strListDRowSource = strListDRowSource & .Fields(i).Name & ";"
            End If
        Next
        Me.List0.RowSourceType = "Value List"
        Me.List2.RowSourceType = "Value List"
        Me.List0.RowSource = strListTRowSource
        Me.List2.RowSource = strListDRowSource
        .Close
    End With
    Set rs = Nothing
End Sub

[ 本帖最后由 Henry D. Sy 于 2008-12-29 03:52 编辑 ]
作者: tmtony    时间: 2008-12-27 22:48
谢谢分享, 下载先
作者: 明镜    时间: 2008-12-27 22:52
学习一下
作者: sunwrsun    时间: 2008-12-28 00:52
加为好友
作者: lym321321    时间: 2008-12-28 07:58
标题: 回复 1# 的帖子
学习学习
作者: wu8313    时间: 2008-12-28 08:15
ddddddddddd
作者: ui    时间: 2008-12-28 09:29
谢谢版主无私的分享. 顶!!
作者: 82077802    时间: 2008-12-28 09:37
谢谢分享
作者: WDLRCZT    时间: 2008-12-28 09:54
谢谢分享,收藏了
作者: apsfxc1    时间: 2008-12-28 10:36
感谢分享
作者: ganrong    时间: 2008-12-28 11:11
提示: 作者被禁止或删除 内容自动屏蔽
作者: Henry D. Sy    时间: 2008-12-28 11:21
再增加一个动态生成行来源

Private Sub Form_Load()

    Dim rs As New ADODB.Recordset
    Dim strListTRowSource As String
    Dim strListDRowSource As String
    Dim i As Integer
   
    With rs
        .Open "A", CurrentProject.Connection, adOpenKeyset, adLockReadOnly
        For i = 0 To .Fields.Count - 1
            If .Fields(i).Type = 202 Then
                strListTRowSource = strListTRowSource & .Fields(i).Name & ";"
            ElseIf .Fields(i).Type = 3 Then
                strListDRowSource = strListDRowSource & .Fields(i).Name & ";"
            End If
        Next
        Me.List0.RowSourceType = "Value List"
        Me.List2.RowSourceType = "Value List"
        Me.List0.RowSource = strListTRowSource
        Me.List2.RowSource = strListDRowSource
        .Close
    End With
    Set rs = Nothing
End Sub
作者: mikeyzq    时间: 2008-12-29 09:11
牛人,学习一下,谢谢了!
作者: conikua    时间: 2008-12-29 16:51
好好学习,争取向上
作者: tzh1600    时间: 2008-12-29 17:17
代码
好多不懂[:27] [:27]
作者: 小何    时间: 2008-12-29 18:31
好东西一定要分享,谢谢楼猪
作者: mikeyzq    时间: 2008-12-30 15:47
小弟是原来的提问者,还想跟版主请教一下:
看了代码,再查一下不懂的语句(我的ACCESS基本就是通过狗狗自学的,居然还能在公司里拿奖……),差不多就恍然大悟了,但是的确在应用VBA方面太差了,版主能不能推荐本书讲VBA较经典的,通过学习此秘笈达到能写出此段代码的水平[:33] ,谢谢哈~
作者: RRGG001    时间: 2008-12-30 15:52
论坛活跃了不少支持
作者: Henry D. Sy    时间: 2008-12-30 17:19
按f1就是经典中的经典。
作者: changweiren    时间: 2008-12-31 00:38
6D的代码经典必须下载收藏学习
作者: sbsfhgl    时间: 2008-12-31 08:30
[:50]
作者: tanhong    时间: 2008-12-31 08:40
多谢6D兄的分享!
作者: mikeyzq    时间: 2008-12-31 13:49
原帖由 Henry D. Sy 于 2008-12-30 17:19 发表
按f1就是经典中的经典。

问题是如果没有“经典”的引导,连要按什么内容的F1都不知道[:30] ,类似用计算器当然比手动算数来得快,问题是要是连世间有计算器这东西都不知道的话。。。。按F1我觉得是解决计算器如何使用的问题
作者: Henry D. Sy    时间: 2008-12-31 16:25
你不会连你家的电源开关在哪里都不知道吧
作者: ycxchen    时间: 2009-1-1 14:48
学习学习! 谢谢!
作者: df    时间: 2009-1-1 22:49
谢谢分享
作者: zhf130    时间: 2009-1-2 00:14
谢谢分享, 下载先
作者: fxtest    时间: 2009-1-2 03:11
学习学习
作者: sbsfhgl    时间: 2009-1-10 12:47
[:50] [:50]
作者: boy1    时间: 2009-1-10 22:45
标题: 看看
看看
作者: laomao    时间: 2009-1-10 23:04
kankan
作者: 01ymym    时间: 2009-1-11 20:47
谢谢分享
作者: jp777    时间: 2009-1-11 21:29
我来了解了解
作者: 雨后的天空    时间: 2009-1-11 21:40
感谢版主分享
作者: cnffmso    时间: 2009-1-17 09:28
谢谢分享[:50]
作者: cnffmso    时间: 2009-1-17 09:47
版主,本菜想在实例基础上,实现先日期段查询后再动态分类汇总,应该怎样实现,版主是否再改一下实例,急用,谢谢了先
作者: lingjiang    时间: 2009-1-17 11:25
[:50] [:50] [:50]
作者: Henry D. Sy    时间: 2009-1-17 11:31
原帖由 cnffmso 于 2009-1-17 09:47 发表
版主,本菜想在实例基础上,实现先日期段查询后再动态分类汇总,应该怎样实现,版主是否再改一下实例,急用,谢谢了先

你可以将经过日期查询的结果作为原表(相当于本来中的A表)来进行动态汇总。
作者: wdq    时间: 2009-1-17 11:35
看看先,谢谢。
作者: yeguiren6076    时间: 2009-1-18 14:04
用在什么地方,看不懂,有示例吗?
作者: huanghai008    时间: 2009-1-19 21:59
感谢楼主的无私风向
作者: su_xx    时间: 2009-1-20 09:56
相当不错,学习
作者: jiyu0617    时间: 2009-2-26 08:22
谢谢分享, 下载先
作者: wjsfeng    时间: 2009-2-26 09:27
学习一下
作者: 蓝天8390    时间: 2009-2-26 09:30
又有好东西下载了,谢谢版主奉献。
作者: yori2007    时间: 2009-3-15 13:42
虚心学习
作者: leypoo    时间: 2009-3-18 15:48
看看
作者: luhao    时间: 2009-3-24 19:49
学习下
作者: qx3319    时间: 2009-3-26 16:33
学习学习
作者: 上网求学    时间: 2009-3-26 20:33
单位透光阀敢死队分公司等分散对方
作者: zhixia    时间: 2009-3-27 08:42
关注!
作者: 13555609005    时间: 2009-3-27 23:51
学习学习
作者: mo_on214    时间: 2009-4-4 19:09
学习一下
作者: tmtming    时间: 2009-4-5 00:46
我也学习下。
作者: wen123456    时间: 2009-4-5 08:19
学习,谢谢分享
作者: fengxueysh    时间: 2009-4-5 16:20
不太懂,先收藏。以后用的着。
作者: neocom    时间: 2009-4-7 14:38
看看,学习学习
作者: yodong    时间: 2009-4-7 15:19
看看,下载学习
作者: shitou1ge    时间: 2009-4-7 15:38
怎么才能学好access  
作者: mpc-long    时间: 2009-4-7 22:15
谢谢分享, 下载先
作者: neocom    时间: 2009-4-9 15:30
谢谢啦,用用先
作者: yangxiang    时间: 2009-4-10 16:55
okokok
作者: yanwei82123300    时间: 2009-4-14 07:29
谢谢分享,收藏了
作者: 123shusheng    时间: 2009-5-3 20:38
526516416265
作者: access_boy_li    时间: 2009-5-8 13:48
谢谢分享
作者: 付谦    时间: 2009-5-8 15:37
学习
作者: 我爱大大卷    时间: 2009-7-17 14:59
谢谢
作者: 柔情小生    时间: 2009-7-17 18:29
看一下
作者: lkkl66    时间: 2009-7-18 00:57
1# Henry D. Sy

看看学习
作者: howze    时间: 2009-7-19 22:20
下来研究研究
作者: asklove    时间: 2009-7-20 10:03
以前咋没看到,下载
作者: 真主    时间: 2009-7-20 10:06
谢谢
作者: BILLFEI    时间: 2009-7-24 17:09
学习学习
作者: zhiyan    时间: 2009-8-10 23:47
学习学习
作者: 坡芽歌书    时间: 2009-8-11 10:00
谢谢分享
作者: ba888888    时间: 2009-8-11 20:53
多谢了,受教了~
作者: wskbm    时间: 2009-8-27 11:01
study and study
作者: jingyu    时间: 2009-9-2 11:02
谢谢分享
作者: taofbjty    时间: 2009-9-5 00:39
学习学习,顶了再顶!
作者: 13601812106_01    时间: 2009-9-6 09:40
ddddddddddd
作者: szyewj    时间: 2009-9-27 16:29
谢谢版主无私的分享. 顶!!
作者: 鱼儿游游    时间: 2009-11-2 00:23

作者: peiheng    时间: 2009-11-8 00:29
增加一个动态生成行来源
作者: fcghw    时间: 2009-11-10 08:33
学习学习
作者: cfncmjh    时间: 2009-11-11 08:46
好折了
作者: cnffmso    时间: 2009-11-17 21:42
果然精品
作者: xxiaoxin321    时间: 2009-12-17 09:10
学习!
作者: liaoqiang234    时间: 2009-12-20 09:49
谢谢分享
作者: wufeng980114    时间: 2009-12-26 20:47
谢谢共享
作者: hackex    时间: 2009-12-27 10:15
谢谢楼主分享,顶一下....
作者: zhufree    时间: 2010-1-12 16:48
没看明白
作者: nczx    时间: 2010-1-22 12:53
收藏了
作者: chushangu    时间: 2010-1-22 18:26
谢谢分享
作者: chenyingfengsx    时间: 2010-1-24 17:35
我要学些~!
作者: kisssprite    时间: 2010-1-28 08:54
新手回复,闲人靠后
作者: kisssprite    时间: 2010-1-28 09:12
看过此帖后对查询的理解更进一步,深受启发
作者: yanggd    时间: 2010-1-28 19:53
支持,谢谢
作者: l_q101    时间: 2010-1-28 22:26
谢谢分享谢谢分享
作者: xiazaidj    时间: 2010-1-30 20:35
下来学习
作者: hr0713    时间: 2010-2-3 13:17
看看,谢谢




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