设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1850|回复: 1
打印 上一主题 下一主题

急急!请问uncode字符如何在字段里提取

[复制链接]
跳转到指定楼层
1#
发表于 2005-8-31 20:47:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我所写的程序中由于分成单字统计,将双字节汉字也分开了,不知如何合并成一个字。用asc判断,但是由于前后两个同样为重复值为63,分别向前取两字节时后一个将下一个非双字节汉字一起取出,很苦恼。

这个情况如何避免呢?  是重设if语句还是直接判断跳转到下一个记录,还是删除下一个记录?

谢谢!

下面是原程序:

Private Sub Command0_Click()

Dim db As DAO.Database

Dim rst As DAO.Recordset

Dim schar As String

Dim suni As String, dz As String

Dim i1 As Integer, I As Integer

Set db = CurrentDb()

Set rst = db.OpenRecordset("ju")

Set rst_qiefen = db.OpenRecordset("qiefen")



Do Until rst.EOF

   schar = rst!sentence

   For I = 1 To Len(schar)

   dz= Mid(schar, I, 1 + i1)



If Asc(dz) = 63 Then

    i1 = 1

   dz = Mid(schar, I, 1 + i1)

           With rst_qiefen

       .AddNew

       !uni = suni

       !danzi = dz

       .Update

    End With

   

Else

     i1 = 0

     dz = Mid(schar, I, 1 + i1)

   With rst_qiefen

      .AddNew

       !uni = suni

       !danzi = dz

       .Update

    End With

End If

End If

  

  Next I

   rst.MoveNext

Loop



End Sub



[此贴子已经被作者于2005-8-31 12:48:09编辑过]

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2005-9-10 17:08:00 | 只看该作者
这是专家门诊一书的判断中英文的例程,你可参考一下:

Public Function includeChinese(strString As String) As Boolean

    Dim i As Integer

    Dim intStrLen As Integer

   

    includeChinese = False

    intStrLen = Len(strString)

    For i = 1 To intStrLen

        Select Case Asc(Mid(strString, i, 1))

        Case Is > 128, Is < 0

            i = intStrLen + 1

            includeChinese = True

        End Select

    Next

End Function

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-29 15:40 , Processed in 0.078941 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表