Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

碰到一个Recordset的查询问题

Kevin  发表于:2010-02-04 04:18:22  
复制

我描述一下主要的过程,中间的就略过了...

 

我用ADO来获取一个Recordset,来源是:

select pn from tab

 

然后我用 rs.filter 准备筛选一些数据,比如

rs.filter = "pn like %ABC%" (这里用“%”或“*”都是可以的)

 

这种情况下,我是可以得到想要的筛选结果。

 

问题就在这个条件式,继续看下去...

假设我的 pn 里面有一条为  A'BC' 的记录的时候,那么我写的条件式(rs.filter = "pn like %A''BC''%")就找不出来了!

 

我发现:在Access的查询里面,是可以使用(like "%A'BC'%")进行查询并有结果的。

而且,在定义 Recordset 的 Source 时候,也是可以用“双单引号”(即 like '%A''BC''%')取得带条件的记录集。

双单引号:在一个单引号后面多加一个单引号。

 

但一旦对 Recordset 采用 filter 的方法,条件式里面用“双单引号”(即 like A''BC'')方式都不能查询到结果。

 

说明一下:在 recordset 里面一定要用“双单引号”方式表示单引号,否则程序会报错。

 

这问题搞了一个晚上都没搞好,希望有哪位高人可以帮我解决一下,先在这里谢了!

 

Top
总记录:0篇  页次:0/0 9 1 :