是这样的,我已经执行了这样的代码:
res.Open "Select * from List",conn,3,3
得到了一个有数据的res
我想在这个res中执行SQL 语句进行筛选。
这样想的原因是,我想一次性将数据库数据读入到内存,然后在res中用Like检索数据。这样不需要反复从内存读取,节约时间,提高效率。我目前已采取的方法是:res.Filter="Value like '" & strSQL & "'"
当,strSQL="%abc"的时候,报错:参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
当,strSQL="abc%"的时候,则正常筛选出了我需要的内容,所以我纠结了。
如果直接:
res.Open "select * from List where Value like 'abc%'",conn,3,3
则正常执行出结果。
所以,很纠结。请大家帮帮忙,想想办法。

解决方案 »

  1.   

    不要折腾了,微软说的很清楚:http://msdn.microsoft.com/zh-cn/library/ee275540(v=bts.10).aspx•If the column names are different, then the operators must be the same. If the operators are "LIKE", then the filtered region may be unexpected.
      

  2.   

    原来这样啊,也就是说.Filter的方法是存在不可修复的问题的。那么存不存在别的方法,可以在已经获得的记录集中来select
      

  3.   

    自己做循环取,利用VB的Like。
      

  4.   

    自己已经解决了
    用户输入含有*的查询
    我读取*中的文字,让它Filter这个文字
    再遍历剩下的结果,使用VB的Like判断,成功!