You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Access 2016 如何不使用VBA实现输入时实时过滤组合框匹配结果

无VBA实现Access表单实时前缀匹配过滤方案

以下两种方案都仅通过Access界面配置和SQL实现,无需编写VBA代码,适合初学者操作:

方案1:组合框原生自动扩展功能(操作最简单)

Access组合框自带前缀匹配扩展能力,全程无需写SQL:

  • 打开Software表单的「设计视图」
  • 插入组合框控件,按弹出的组合框向导逐步配置:
    1. 选择「使用组合框获取其他表或查询中的值」,点击下一步
    2. 数据源选择Software titles表,点击下一步
    3. 将title字段从可用字段列表移动到选定字段列表,点击下一步
    4. 排序步骤可选按title升序排列,方便结果查阅,点击下一步
    5. 调整下拉列宽度后点击下一步,最后点击完成即可
  • 右键点击刚插入的组合框,打开「属性表」:
    • 切换到「格式」选项卡,确认AutoExpand属性设置为「是」
    • 切换到「数据」选项卡,确认LimitToList属性设置为「否」

配置完成后输入Vis时,组合框会自动补全匹配前缀的首个title,下拉列表也会自动定位到所有Vis开头的条目区间,满足基础匹配需求。

方案2:自定义SQL过滤(仅展示匹配结果,无无关条目)

如果需要下拉列表仅展示符合前缀匹配的结果、隐藏其他无关内容,用该方案:

  • 先按方案1的步骤插入组合框并完成基础配置
  • 右键点击组合框打开「属性表」,切换到「数据」选项卡,点击行来源属性后的...按钮打开查询生成器
  • 切换到SQL视图,将默认生成的SQL替换为以下内容:
SELECT [Software titles].title
FROM [Software titles]
WHERE [Software titles].title LIKE [Forms]![Software]![Combo0] & "*"
ORDER BY [Software titles].title ASC;

注意将上述代码中的Combo0替换为你实际使用的组合框的控件名称,可在属性表「其他」选项卡的名称字段中查到对应名称

  • 保存查询后关闭查询生成器,回到属性表的「事件」选项卡,找到更改事件,点击后方的...按钮,选择「宏生成器」后确定
  • 在宏操作下拉列表中选择Requery,控件名称填写你的组合框控件名,保存宏后关闭宏生成器

所有配置完成后,每输入一个字符,组合框的下拉列表就会自动刷新,仅展示以输入内容为前缀的title条目。如果想使用文本框作为输入控件,只需将SQL中的控件名替换为文本框的控件名,宏的Requery操作对象改为展示结果的列表框/表单即可。

内容的提问来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 05:54:01