设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 2420|回复: 10
打印 上一主题 下一主题

[查询] 关于使用代码设置查询字段可见性的问题。

[复制链接]
跳转到指定楼层
1#
发表于 2012-4-5 22:46:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位,小弟刚开始学习数据库,有个关于查询的问题,请教各位,请帮忙解答。
我想利用查询设置字段可见性来对字段进行统计。请问如何用代码来设置查询字段的可见性。
附件实例是我下来学习的,这个实例可以是每次选择后利用选择字段重新做查询,但是查询
里面的“总计“字段显示为了”Expression“,无法总计。请各位帮忙该一下,使得”总计“
字段可以设置为”总计“

Private Sub cmdOK_Click()
On Error GoTo HandleErr
    DoCmd.RunCommand acCmdSaveRecord
    DoCmd.Close acForm, "选择字段对话框", acSaveYes
CreateQry "materiallimitquery"
exitHere:
    Exit Sub
HandleErr:
    Select Case Err
       Case Else
            MsgBox Err & ": " & Err.Description, vbCritical, _
             "错误发生在 Form_选择字段对话框.cmdOK_Click 中"
    End Select
   Resume exitHere
   Resume
End Sub

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2012-4-6 09:49:27 | 只看该作者
查询可以用dao定义
报表和窗体可以用定义过的查询作为记录源或源对象
3#
 楼主| 发表于 2012-4-6 10:12:54 | 只看该作者
Henry D. Sy 发表于 2012-4-6 09:49
查询可以用dao定义
报表和窗体可以用定义过的查询作为记录源或源对象

版主,能提供一个实例吗?刚学的,不咋懂。用dao定义的查询,有总计功能吗?
4#
发表于 2012-4-6 11:35:03 | 只看该作者
把你自己的例子传上来
5#
 楼主| 发表于 2012-4-6 13:35:02 | 只看该作者
Henry D. Sy 发表于 2012-4-6 11:35
把你自己的例子传上来

Henry D. Sy 版主,我希望是点击“选择显示项目”就可以"显示查询",查询出来的内容可以总计。请帮忙,谢谢。请查看附件。

本帖子中包含更多资源

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

x
6#
发表于 2012-4-6 16:02:04 | 只看该作者
表中数据多数是空值,统计什么呀
7#
 楼主| 发表于 2012-4-6 16:25:00 | 只看该作者
Henry D. Sy 发表于 2012-4-6 16:02
表中数据多数是空值,统计什么呀

主要是要统计数量,以后再增加统计复价金额的功能。更帮忙改改吗?
8#
发表于 2012-4-6 16:25:39 | 只看该作者


本帖子中包含更多资源

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

x
9#
 楼主| 发表于 2012-4-6 17:24:11 | 只看该作者
Henry D. Sy 发表于 2012-4-6 16:25

  Henry D. Sy版主,非常感谢你的热心帮助,请问,附件图片中的相同的项能否在查询后,直接相加总计?谢谢你

本帖子中包含更多资源

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

x
10#
发表于 2012-4-6 18:48:20 | 只看该作者
  1. Private Sub cmdOK_Click()
  2.     Dim strSQL As String
  3.     Dim str As String
  4.     Dim varI As Variant
  5.     Dim Qdf As DAO.QueryDef
  6.     Dim bln As Boolean

  7.     '循环取出选中的字符串
  8.     For Each varI In Me.List37.ItemsSelected
  9.         If Me.List37.ItemData(varI) = "数量" Then
  10.             bln = True
  11.         Else
  12.             str = str & Me.List37.ItemData(varI) & ","
  13.         End If
  14.     Next

  15.     '有四种情况
  16.     '***************************************

  17.     '一:什么也没选
  18.     If str = "" And bln = False Then
  19.         MsgBox "请选择字段"
  20.         Exit Sub
  21.     End If

  22.     '二:只选数量
  23.     If str = "" And bln Then
  24.         strSQL = "SELECT sum(数量) as 总数 FROM material "
  25.     End If

  26.     '三:只选分组字段
  27.     If str <> "" And bln = False Then
  28.         str = Left(str, Len(str) - 1)
  29.         strSQL = "SELECT " & str & " FROM material group by " & str
  30.     End If

  31.     '四:选了数量和其他分组字段
  32.     If str <> "" And bln Then
  33.     str = Left(str, Len(str) - 1)
  34.         strSQL = "SELECT " & str & ",sum(数量) as 总数 FROM material group by " & str
  35.     End If

  36.     '****************************************

  37.     Set Qdf = CurrentDb.QueryDefs("MQ")
  38.     Qdf.SQL = strSQL
  39.     Me.FrmSub.SourceObject = "查询.MQ"
  40.     Qdf.Close

  41. End Sub
复制代码

本帖子中包含更多资源

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

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-6 01:41 , Processed in 0.111668 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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