作为访问应用程序的一部分,我从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支持某些分数
答案 0 :(得分:1)
问题是Rs(sFieldName)的字段类型是adVarChar。所以为了解决这个问题,我在记录集中使用了一个adVariant字段类型,它现在接受了⅝粗俗字符。
我正在创建记录集。
编辑:adVarWChar更合适,请参阅下面的评论