解决错误 80040e14内存溢出
- 日期 : 2012-05-07
当字段内包含26个日文字符任意一个多个时,就会导致在执行SQL语句中包含了
[字段] like '%aaaaa%' 或 inStr(1,[字段],'aaaaa',1)>0
这样的查询时,毫无道理的出现了
"Microsoft JET Database Engine 错误 '80040e14' 内存溢出" 的错误
其他Jet SQL函数命令未作测试,大概与字符搜索定位匹配相关的都可能出错
搜索相关资料得知被微软工程师证实是Access的bug
1.一个简单的方法是:
把如下的语句:
Sql = "select * From [tbname] Where Title like '%"&keyword&"%' order By id Desc"
换成:
Sql = "select * from [tbname] where InStr(1,LCase(Title),LCase('"&keyword&"'),0)<>0 order by id desc"
2.写一段代码把含有26个片假名的条目搜索出来,或者老老实实查找 删除条目即可