如何在Microsoft Access中编写基于用户选择的双向映射SQL查询?
解决方案:根据输入的编号或名称返回对应值的Access SQL查询
针对你的需求,你可以创建一个带参数的Access SQL查询,让用户选择输入GroupNumber或GroupName,查询自动返回对应的另一列值,具体实现如下:
实现代码
SELECT IIF( [输入GroupNumber:] IS NOT NULL, GroupName, GroupNumber ) AS 对应结果 FROM [Group] WHERE (GroupNumber = [输入GroupNumber:] AND [输入GroupName:] IS NULL) OR (GroupName = [输入GroupName:] AND [输入GroupNumber:] IS NULL);
代码说明
- 参数设计:查询包含两个参数
[输入GroupNumber:]和[输入GroupName:],用户仅需填写其中一个,另一个留空即可。 - 逻辑判断:
- 若填写了
GroupNumber,则返回对应的GroupName - 若填写了
GroupName,则返回对应的GroupNumber
- 若填写了
- 表名处理:因
Group是Access的保留关键字,必须用方括号[Group]包裹表名,避免语法错误。
使用方法
- 在Access中新建查询,切换至「SQL视图」
- 粘贴上述代码并保存
- 运行查询时,根据弹出的输入框填写对应值(留空另一个参数),即可得到匹配的结果
内容的提问来源于stack exchange,提问作者petrino house
相关产品推荐
相关产品推荐

