|
本帖最后由 t小宝 于 2010-12-24 09:20 编辑
各位看到标题不要想到中日之间的什么事哦,其实只是,日文片假名字符在ACCESS中一出现,就会惹来不少麻烦,
诸如表的记录含有日文片假名字符时,查询记录会导致内存溢出,处理字符串的函数遇到日文片假名字符会出错等,
具体可用ACCESS和日文为关键字百度一下。
其实这也不能怪日本,怪就怪微软,真不知微软是什么心态,搞这么一个BUG,影响中日关系。。。
那么,在ACCESS中就要坚决清除日文片假名字符,不能让它与ACCESS共存,
但用Replace、InStr来处理都出错,所以只能用暴力一个字一个字来解决了。
在http://www.office-cn.net/thread-95783-1-1.html此帖中fyupeng 版友遇到了此问题,并找到了解决方法,
本人也写了个函数,谁有更好的办法快来指正。。。
'清除日文片假名字符函数
Function ClearKatakana(Expression As String) As String
Dim i As Long
Dim lngStart As Long
Dim lngLength As Long
lngStart = 1
For i = 1 To Len(Expression)
Select Case Mid(Expression, i, 1)
Case "ゴ", "ガ", "ギ", "ア", "ゲ", "ザ", "ジ", "ズ", "ヅ", "デ", "ド", "ポ", "ベ", "プ", "ビ", "パ", "ヴ", "ボ", "ペ", "ブ", "ピ", "バ", "ヂ", "ダ", "ゾ", "ゼ"
lngLength = i - lngStart
If lngLength > 0 Then ClearKatakana = ClearKatakana & Mid(Expression, lngStart, lngLength)
lngStart = i + 1
End Select
Next
ClearKatakana = ClearKatakana & Mid(Expression, lngStart)
End Function
|
|