我有一个ADO记录集,想用Instr条件过滤它。我想知道,表字段中的短文本是否可以在长文本中找到。如果我想换一种方式,我可以很容易地使用LIKE运算符。
我尝试了以下代码:
Dim RS = New ADODB.recordset RS.CursorLocation = adUseClient RS.Open "SomeTable", SomeConnection, adOpenStatic, adLockOptimistic RS.Filter = "InStr('SomeLongText', SomeField) > 0"
但是如果我尝试这个,我会得到运行时错误3001: “参数的类型错误或超出可接受的范围,或者彼此冲突。”
所以,我有办法吗?
如果要在列中查找字符串,可以使用以下命令:
rs.Filter = "SomeField Like '*SomeLongText*'"
还可以在第一次打开记录集时进行筛选:
Dim rs as Recordset set rs = CurrentDb.OpenRecordset("SELECT * FROM SomeTable WHERE SomeField Like '*SomeLongText*'")