Access 2010带字母过滤功能的电话簿样例库名称及实现方法咨询
你要找的Access模板&手动实现A-Z筛选的方法
嘿,你说的那个带A-Z字母筛选栏的电话簿样例,应该就是Access 2010内置的**Contacts(联系人)**模板啦!这个模板完全符合你的描述——顶部有一排A-Z按钮,点哪个字母就只显示姓氏以该字母开头的记录,简直是量身定做的。
要是你现在找不到这个模板,或者想自己动手实现这个功能,我给你整理了详细的步骤:
手动实现A-Z筛选功能的步骤
1. 搭建表单基础
- 新建一个绑定到你电话簿数据表的表单
- 在表单顶部区域添加26个按钮(对应A到Z),把它们整齐排列好,按钮标题设为对应的字母,命名可以用
cmdA、cmdB这种规范的名字,方便后续写代码
2. 给每个按钮添加筛选逻辑
选中任意一个字母按钮,打开事件生成器,在On Click事件里写入VBA代码:
Private Sub cmdA_Click() ' 筛选姓氏以A开头的记录,记得把[姓氏]换成你表中实际的字段名 Me.Filter = "Left([姓氏], 1) = 'A'" Me.FilterOn = True End Sub
把这段代码复制到每个字母按钮的点击事件里,只需要把代码里的'A'改成对应按钮的字母就行(比如cmdB就改成'B')。
3. 加个"显示全部"按钮(实用小补充)
为了方便用户快速查看所有记录,建议再加个按钮,命名为cmdShowAll,点击事件代码如下:
Private Sub cmdShowAll_Click() Me.Filter = "" Me.FilterOn = False End Sub
4. 优化筛选的兼容性(可选)
如果你的数据里姓氏有大小写混合的情况(比如有的是"apple"有的是"Apple"),可以用UCase()函数统一转换,避免漏筛:
Me.Filter = "UCase(Left([姓氏], 1)) = 'A'"
这样不管姓氏是大写还是小写开头,都能被正确筛选出来啦。
内容的提问来源于stack exchange,提问作者Naz
相关产品推荐
相关产品推荐

