处理⅝(五个八分)粗俗分数作为VBA中字符串的一部分

时间:2014-06-03 04:49:21

标签: vba ms-access excel-vba excel

作为访问应用程序的一部分,我从sql server检索数据。我有一个字符串字段,其中一行包含⅝,当我尝试将该值插入MsAccess记录集时,我收到错误

多步操作产生错误。检查每个状态值。这是我的代码

sFieldValue = getValue() ' when i add a watch, the '⅝' is replaced by a ? e.g. "The result is ⅝" will be shown as "The result is ?" 
Rs(sFieldName) = sFieldValue ' error is thrown

然后我尝试在VBA中硬编码值

sFieldValue ="⅝"

当我输入“⅝”时,它会自动变为问号

sFieldValue ="?"

我想知道如何支持“⅝”这样的字符。其他分数工作正常,例如“半”。我不想做任何计算,分数是来自SQL Server的字符串的一部分,问题是,当我尝试在访问中添加包含分数的字符串值时,我得到运行时错误

来自this page,表明utf-8支持某些分数

1 个答案:

答案 0 :(得分:1)

问题是Rs(sFieldName)的字段类型是adVarChar。所以为了解决这个问题,我在记录集中使用了一个adVariant字段类型,它现在接受了⅝粗俗字符。

我正在创建记录集。

编辑:adVarWChar更合适,请参阅下面的评论