我有一个访问查询,它使用1个原始数据表构建,以查看信用和取消费用。
我正在尝试填充“原因代码”#39;通过搜索“描述”来查询此查询中的字段。各种关键字的字段。
例如,如果'说明'字段包含'错误'那么原因代码'字段应该填充“客户错误”。
如果'说明'字段包含'回扣'那么原因代码'字段应该填写“客户合同折扣”字样。等等。
目前,我正在使用以下表达式:
执行此操作* Reason_Code:IIf([说明]喜欢&#34; 折扣&#34;或[说明]喜欢&#34; 免费&# 34;或[描述]喜欢&#34; 回扣&#34;,&#34;客户合同折扣&#34;,IIf([描述]喜欢&#34; 错误< / em>&#34;,&#34;客户错误&#34;,&#34;&#34;))*
但是,在搜索中可以找到大约100个关键字,每个关键字使用不同的原因代码,因此使用表达式是不可行的。
因此,我想以某种方式引用包含100个关键字和原因代码的另一个单独的表来进行搜索,而不是编写表达式。
问题是这个&#39;原因代码&#39;之间没有联系。表和主表(查询所基于的)作为关键字只会成为&#39;描述&#39;的一部分。主表的字段永远不会完全匹配,因此我无法以任何方式链接2。
有没有办法使用单独的原因代码&#39;表格有2个字段:(1)关键字&amp; (2)原因代码,以便关键字字段可用于在查询中进行搜索/匹配,然后为找到关键字的所有字段返回相关的原因代码?
由于
答案 0 :(得分:0)
您可以使用DLookUp
或子查询从不同的表中查找信息。查询中的首选方法是使用子查询。
如果您想以表达式的形式进行,可以使用以下内容:
Reason_Code:(SELECT Reason_Code From OtherTable WHERE OtherTable.Keyword = MainTable.Description)
答案 1 :(得分:0)
您可以使用以下内容:
Nz(DLookup("[ReasonCode]","[LooukUpTable]","'" & [Description] & "' LIKE '*[KeyWord]*'"),"")
根据您使用它的位置(在SQL或VBA中),可能需要进行小的更改。