sql - 如何使用逗号分隔的字符串作为源过滤多个值的查询
问题描述
我有frmSelect
允许用户从列表框中选择多个项目的表单。然后将用户的选择保存在 formfrmShowResults
中。
列表框的结果以逗号分隔的字符串形式保存在 form 的文本框控件中frmShowResults
,如下例所示:
1,4,7
然后我想frmShowResults
根据这个选择进行过滤。我不能使用FilterOnLoad,因为表单底层查询有一个子查询,它似乎不起作用。这是 SQL 的frmShowResults
:
SELECT DISTINCT
tbl_Activity.ActivityID, tbl_Activity.DepartmentID, tbl_Activity.AStatusID,
tbl_Activity.ActivityName, tbl_Activity.Description, tbl_Activity.Archive,
tbl_Activity.OpenDate, tbl_Activity.DueDate1, tbl_Activity.DueDate2,
tbl_Activity.LastModified, tbl_Activity_Status.Activity_Status, tbl_Department.DepartmentShort
FROM
tbl_Department INNER JOIN
(tbl_Activity_Status INNER JOIN
(tbl_Activity INNER JOIN qry_ReportGenerator3_1 ON
(tbl_Activity.ActivityID = qry_ReportGenerator3_1.ActivityID) AND
(tbl_Activity.ActivityID = qry_ReportGenerator3_1.ActivityID)) ON
tbl_Activity_Status.AStatusID = tbl_Activity.AStatusID) ON
tbl_Department.DepartmentID = tbl_Activity.DepartmentID
WHERE (((tbl_Activity.Archive)=False));
我尝试在查询设计视图中设置公式,例如In ([Forms]![frm_ReportGenerator2]![txtBusAreaWhere])
Access 不会正确评估语句并且不返回任何记录。但是,如果我手动输入它,它确实会产生正确数量的记录In (1;4;7)
。注意:我的区域设置要求我使用分号作为分隔符。
给定逗号分隔的字符串源,如何让我的查询正确过滤?
解决方案
推荐阅读
- r - 如何在 Rstudio (stargazer) 中创建具有描述性统计的表?
- laravel - 如何在 Laravel Mix 中使用 purgeCss
- sql - 在 where 子句中唯一
- libreoffice - 当我选择表格 [Libreoffice] 时,无法点击 PDF 导出时的目录链接
- python - matplotlib 中的逐步线图
- docker - 什么是“清单 blob 未知:注册表未知的 blob”错误
- python - (没有名为 __main__ 的模块)在 bashrc 中使用别名时
- c++ - C++ 警告:并非所有控制路径都返回值
- c++ - * function() 和 function() 的区别
- postgresql - Postgres函数错误:未终止的美元报价