设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 37704|回复: 184

[Access本身] 动态分类汇总

[复制链接]
发表于 2008-12-27 21:45:24 | 显示全部楼层 |阅读模式
  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 编辑 ]

本帖子中包含更多资源

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

x

点击这里给我发消息

发表于 2008-12-27 22:48:58 | 显示全部楼层
谢谢分享, 下载先
发表于 2008-12-27 22:52:25 | 显示全部楼层
学习一下
发表于 2008-12-28 00:52:11 | 显示全部楼层
加为好友
发表于 2008-12-28 07:58:52 | 显示全部楼层

回复 1# 的帖子

学习学习
发表于 2008-12-28 08:15:09 | 显示全部楼层
ddddddddddd
发表于 2008-12-28 09:29:36 | 显示全部楼层
谢谢版主无私的分享. 顶!!
发表于 2008-12-28 09:37:36 | 显示全部楼层
谢谢分享
发表于 2008-12-28 09:54:02 | 显示全部楼层
谢谢分享,收藏了
发表于 2008-12-28 10:36:16 | 显示全部楼层
感谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-8 22:57 , Processed in 0.112233 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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