Access/VBA 常规 “内存溢出” 错误!
时 间:2013-01-03 05:41:04
作 者:dbaseIIIer ID:22003 城市:深圳
摘 要:这真的是 Access VBA 的问题,我测试过 Excel 2007 都没有这个问题的!
正 文:
今天很特殊的发现一个 Access 错误! 居然 Accessoft.com 还没有人报上的!
大家只需要执行 a= Instr( chr(-23124), "x"),就会出现
这是必然的错误!
百度里面查查看,原来 Access VBA 就是有这个错误!
网上说,当一个字符串里面包含那26个日本字其中一个就会出错!
ガ|ギ|グ|ゲ|ゴ|ザ|ジ|ズ|ゼ|ゾ|ダ|ヂ|ヅ|デ|ド|バ|パ|ビ|ピ|ブ|プ|ベ|ペ|ボ|ポ|ヴ
真的是 Bakka 了!
为什么有日本字就不能 Instr, like, replace 了? 基本上所有 字符串处理 都报错!
但是我查看我的字符,里面根本就没有这26个字哦!只是很多的火星文!麻烦了!到底哪个字符让 VBA 出错呢?
结果就写了一个程序,去检查什么字会报错:
Public Sub ccccc() Set rs = CurrentDb().OpenRecordset("cCode") On Error Resume Next For X = &H8140 To &HFEFE tt = Chr(X) Err.Clear n = InStr(tt, "A") If Err > 0 Then rs.AddNew: rs!ccode = X:: rs.Update End If Next End Sub检查所有的双字节字符,从 &H8140 - &HFEFE,就是所有 中日韩繁简体包含的字符!
跑下来,原来有27个!
ガ|ギ|グ|ゲ|ゴ|ザ|ジ|ズ|ゼ|ゾ|ダ|ヂ|ヅ|デ|ド|バ|パ|ビ|ピ|ブ|プ|ベ|ペ|ボ|ポ|ヴ|ヾ
多了个 3撇! 都不知道什么字! 真的是 火星人才知道了!
网上说的解决方法就是 做个函数 取代掉! 搜搜 “Access VBA Instr 内存溢出” ,就有无限个一模一样的解决方法!
但是,我就奇怪了,他们都是用 replace 来取替掉的,刚刚不是说 instr, replace, like 都报错吗?
反正,我就不用处理这些文字的,我就没有用 “编码” 的方法来替换,我就是需要检测到,忽略掉就可以了!
我简单的测试过 StrConv 也没办法简单处理,最后我就用了非VBA标准函数去处理了,我用了 正则表达式:
Set re = New RegExp re.Multiline = True re.IgnoreCase = True re.Global = True re.pattern = "(?:ガ|ギ|グ|ゲ|ゴ|ザ|ジ|ズ|ゼ|ゾ|ダ|ヂ|ヅ|デ|ド|バ|パ|ビ|ピ|ブ|プ|ベ|ペ|ボ|ポ|ヴ|ヾ)" tmpData = re.Replace(responseData, "") responseData = tmpData这个 New RegExp 需要引用, Microsoft RegExp 5.5 的库!
最后那两句 好奇怪的,直接用 responseData = re.Replace(responseData, "") 是不能被替换掉的!不管了,反正赶时间做事!
我的环境是 Win7 64位 + Office 2007,大家不同的系统版本,不同Office版本 可能会有不同吧?我就不知道了!分享下,让大家少点烦恼!
![]() |
开发者你们好,这是 地球信息思维开发者 dbaseIIIer (QQ325613888) |
PS:这真的是 Access VBA 的问题,我测试过 Excel 2007 都没有这个问题的!
Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 仓库管理实战课程(9)-开发往来单...(04.02)
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)
- 仓库管理实战课程(4)-建表操作(03.22)
- 仓库管理实战课程(3)-需求设计说...(03.19)
- 仓库管理实战课程(2)-软件背景和...(03.18)
- 仓库管理实战课程(1)-讲师介绍(03.16)