具有Unicode字符的未绑定字段

时间:2019-03-17 14:45:25

标签: ms-access access-vba

在屏幕UI上,使用未绑定字段输入ASCII和Unicode字符串混合的文本以进行搜索。在屏幕上,它是正确的-例如“ White白色”。但是,在VBA代码上,未绑定字段的Unicode字符变为“?”。并且不能用于搜索-“白色?”对于以上示例。如何在屏幕上获取VBA代码的ASCII和Unicode混合字符串?

下面是我的代码。 Me.txName是未绑定的文本字段,fiterstr是子窗体过滤器。如果名称全为ASCII,则可以使用。如果输入Unicode,它将搜索'?'。

Dim filterstr As String
If Me.txName <> "" Then
    filterstr = "(Customer.Company LIKE '*" & Me.txName & "*')"
End If

Me.sfmCustomerList4Search.Form.Filter = filterstr

1 个答案:

答案 0 :(得分:0)

在Erik A.的帮助下,此问题已解决。在我的问题上,有两个问题。

  1. Access Msgbox不支持unicode。 Erik A.已经编写了与Unicode兼容的消息框实现MsgboxW here

  2. 数据存储在SQL Server中,而Access是前端UI。必须将SQL排序规则设置为与Unicode语言兼容。请参阅参见Chinese collation for MS SQL