我有一个Ado-Recordset,并希望以仪器条件过滤。我想找到,是否可以在较长的文本中找到表字段中的简短文本。如果我想要其他方式,我可以轻松地使用类似的操作员。
我尝试了以下代码:
Dim RS = New ADODB.recordset
RS.CursorLocation = adUseClient
RS.Open "SomeTable", SomeConnection, adOpenStatic, adLockOptimistic
RS.Filter = "InStr('SomeLongText', SomeField) > 0"
,但是如果我尝试过,我会得到运行时错误3001:&quot"参数是错误的类型或可接受的范围或彼此冲突。
所以,我有办法?
澄清这一点:我不想找到类似操作员可以做的方法。
不是:某个田野喜欢模式
相反:类似某种菲尔德的模式
举一个例子。我有这样的桌子:
ID Pattern
-----------
1 AAA
2 BBB
3 CCC
4 DDD
5 EEE
然后我想找到一些文本,例如:"此文本包含一个BBB和一个EEE。"记录文本中的模式。在代码中:
RS.Filter = "InStr('This Text contains a BBB and an EEE.', Pattern) > 0"
将过滤具有ID 2和5的记录。
如果要在列中找到一些字符串,则可以使用以下方式:
rs.Filter = "SomeField Like '*SomeLongText*'"
首先打开记录集时也可以过滤:
Dim rs as Recordset
set rs = CurrentDb.OpenRecordset("SELECT * FROM SomeTable WHERE SomeField Like '*SomeLongText*'")