设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

1234下一页
返回列表 发新帖
查看: 6566|回复: 33
打印 上一主题 下一主题

[查询] 请各位看看下述功能应怎么实现(access2010)

[复制链接]
跳转到指定楼层
1#
发表于 2011-12-10 16:21:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 pascal331 于 2011-12-10 21:57 编辑



我用的是access2010

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-12-10 16:38:05 | 只看该作者
左面那个空件是列表框吗?
列表框可以多选的。
我是03版本,打不开你的库!
3#
 楼主| 发表于 2011-12-10 16:39:02 | 只看该作者
Henry D. Sy 发表于 2011-12-10 16:38
左面那个空件是列表框吗?
列表框可以多选的。
我是03版本,打不开你的库!

是列表框,但是不能多选啊
4#
发表于 2011-12-10 16:41:02 | 只看该作者
应该可以,在属性里设!
5#
发表于 2011-12-10 16:42:39 | 只看该作者
可以使用窗体属性表、宏或 Visual Basic 来设置 MultiSelect 属性。
该属性只能在窗体“设计”视图中进行设计。

使用 ListIndex 属性可以返回所选项目的索引编号。当 MultiSelect 属性设为“展开的”或“简单”时,可以使用列表框的 Selected 属性或 ItemsSelected 集合来确定所选的项目。此外,当 MultiSelect 属性设为“展开的”或“简单”时,列表框控件的值将始终为 Null。

如果 MultiSelect 属性设为“展开的”,重新查询列表框将会清除用户的所有选择。

6#
 楼主| 发表于 2011-12-10 16:43:46 | 只看该作者
Henry D. Sy 发表于 2011-12-10 16:38
左面那个空件是列表框吗?
列表框可以多选的。
我是03版本,打不开你的库!
  1. Option Compare Database
  2. Option Explicit

  3. Private Sub Form_Load()
  4. Dim strT As String
  5. Dim vItem As Variant
  6. For Each vItem In Me.地区.ItemsSelected
  7. strT = strT & vItem & ","
  8. Next
  9.     Call 地区_AfterUpdate
  10. End Sub

  11. Private Sub 关闭_Click()
  12.     DoCmd.Close
  13. End Sub

  14. Private Sub 地区_AfterUpdate()
  15.     If 地区 = "(全部)" Then
  16.         dzj.Form.Filter = ""
  17.         dzj.Form.FilterOn = False
  18.     Else
  19.         dzj.Form.Filter = "地区='" & 地区 & "'"
  20.         dzj.Form.FilterOn = True
  21.     End If
  22. End Sub
复制代码
会不会是代码有问题?
7#
 楼主| 发表于 2011-12-10 16:48:27 | 只看该作者
Henry D. Sy 发表于 2011-12-10 16:42
可以使用窗体属性表、宏或 Visual Basic 来设置 MultiSelect 属性。
该属性只能在窗体“设计”视图中进行 ...

谢谢,看到了。现在能多选了,但是子窗体无法显示数据了
8#
发表于 2011-12-10 16:56:32 | 只看该作者
试试把加载事件去掉
然后
  1. Private Sub 地区_AfterUpdate()
  2.     Dim strT As String
  3.     Dim vItem As Variant
  4.     Dim sSQL As String
  5.     If 地区 = "(全部)" Then
  6.         sSQL = "select * from 你的表名"
  7.     Else
  8.         For Each vItem In Me.地区.ItemsSelected
  9.             strT = strT & "'" & vItem & "',"
  10.         Next
  11.         sSQL = "select * from 你的表名 where 地区 Not in (" & strT & ")"
  12.     End If
  13.     Me.子窗体名.Form.RecordSource = sSQL
  14. End Sub
复制代码
9#
发表于 2011-12-10 16:57:45 | 只看该作者
搞错了我,没有not
10#
发表于 2011-12-10 17:02:14 | 只看该作者
其实也不需要"全部",不选就是全部!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-23 18:33 , Processed in 0.092837 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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