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

如何在SQL的LIKE函数中正确使用列表框值查询电影数据库?

解决Access查询中列表框控件值无法正确解析的问题

你遇到的核心问题是:查询里把forms![Genre_frm]![Genre_lbx].Value当成了字符串文本,而非去读取列表框的实际选中值。以下是两种可行的解决方式:

直接在Access查询的SQL视图中修改

把通配符和控件引用用&拼接,让Access先解析控件值再生成匹配条件:

SELECT title
FROM Catalogue
WHERE Catalogue.listed_in LIKE "*" & forms![Genre_frm]![Genre_lbx].Value & "*";

这样Access会先获取列表框的选中值,再和前后的*通配符组合,匹配listed_in字段中包含该流派的记录。

如果是在VBA中构建查询语句

先单独取出列表框的值,再拼接到SQL字符串里:

Dim selectedGenre As String
Dim querySQL As String

' 获取列表框选中值
selectedGenre = Forms("Genre_frm").Genre_lbx.Value
' 拼接SQL语句
querySQL = "SELECT title FROM Catalogue WHERE listed_in LIKE '*" & selectedGenre & "*'"

' 执行查询(示例)
DoCmd.RunSQL querySQL
' 或者用Recordset读取结果
' Dim rs As Recordset
' Set rs = CurrentDb.OpenRecordset(querySQL)

额外提示

如果列表框可能存在未选中的情况,建议加上非空判断,避免无效查询:

SELECT title
FROM Catalogue
WHERE forms![Genre_frm]![Genre_lbx].Value IS NOT NULL
AND Catalogue.listed_in LIKE "*" & forms![Genre_frm]![Genre_lbx].Value & "*";

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 18:35:40