问题描述
表:
[ID]; [str_status]; [str_nextallowedstatus]
1;收到; 3,4,11
2;回 ; 3,4,5,21
3;储存; 4,5,11,23
4;发货; 2
5;停止服务 ; 12,13,21
...
10; moredatat; 3,5,6
11; boohoo; 33,93,53
...等......
好的,这是'问题:
我需要完全匹配部分字符串=" 3"在[str_nextallowedsatus]字段中;因此,仅返回带有3的记录。
ie:[ID] = 1,[ID] = 2且[ID] = 10但NOT [ID] = 3,[ID] = 5,[ID] = 11等。 。
来自我迄今为止发现的google和搜索是使用LIKE和*的标准。最终返回所有带有3的记录。在它们中,无论它是3,33,还是13,它们都是3。 ;但是,我可能需要搜索类似13的值。或33或33。在某些时候。
我用它来过滤一个组合框,真的不想建立另一个允许下一个状态设置的表....记录每个允许的子字符串...想象一下,对于[ID] = 1,会有三个记录,[ID] = 2会有四个记录等...
我正在使用VBA根据当前选择的记录设置组合框的记录源。
它没有标准化,因为下一个允许的状态字段包含多个值。
解决方案二是正确的方法,因为它规范化数据并产生最优化的最简单的查询。你的表征更复杂是不正确的。它实际上更简单,它只是更多的记录。但它使其他一切变得更容易。
你说它用三条记录代表一条记录。但这是不正确的。你现在拥有的实际上是三个记录在一条记录中的信息。这就是使查询更复杂的原因。
Table:
[ID] ; [str_status] ; [str_nextallowedstatus]
1 ;Received ;3,4,11
2 ; Returned ; 3,4,5,21
3 ; Storage ; 4,5,11,23
4 ;Shipped ; 2
5 ; OutOfService ; 12,13,21
...
10 ;moredatat ; 3,5,6
11 ;boohoo ; 33,93,53
... etc...
Ok, here''s the question:
I need to match exactly the partial string = "3" in the [str_nextallowedsatus] field; thus, returning only the records with "3"
i.e: [ID]=1, [ID]=2 and [ID]=10 but NOT [ID]=3, [ID]=5, nor [ID]=11 etc...
from what I''ve found so far with google and the search are criteria using LIKE and "*" which endup returning all the records with a "3" in them no matter if it is "3", "33", or "13" ; HOWEVER, I may need to search for a value like "13" or "33" at some point.
I am using this to filter a combo-box and really don''t want to build yet another table where the allowed next status is setup.... one record for each allowed sub-string... imagine, for [ID]=1, there would be three records, [ID]=2 would have four records, etc...
I am using VBA to set the record source for the combo-box based upon the currently selected record.
这篇关于另一个部分匹配问题......的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!