将输入转换为其他键盘语言的最佳方法是什么?

时间:2016-12-21 14:45:59

标签: vba access-vba

我最近建立了一个访问计划,其中有代理机构的客户帐户。

问题是他们的许多客户的帐户名称都不是英文。这使代理商难以搜索,因为他们必须在两种语言之间不断变换。

我向他们发送了一个我发现的软件,可以在输入语言后更改语言(http://langover.com/),但他们对此不满意。

他们希望我建立一些可以自动搜索两种语言的东西。

以下是我现在使用的代码:

Private Sub SearchBox_AfterUpdate()
    Me.Filter = "[USER]" & " like ""*" & me.SearchBox & "*"" 
    Me.FilterOn = True
End Sub

根据两种键盘语言设置获取两个字符串的最佳方法是什么?

(例如,在输入akuo时,您会获得akuo以及שלום的结果

1 个答案:

答案 0 :(得分:0)

这应该有效:

SearchBox_AfterUpdate()
searchstringlang1 = Me.searchbox
searchstringlang2 = Me.searchbox
str1 = "qwertyuiopasdfghjkl;zxcvbnm,./" & "/'קראטוןםפשדגכעיחלךףזסבהנמצתץ"
str2 = "/'קראטוןםפשדגכעיחלךףזסבהנמצתץ" & "qwertyuiopasdfghjkl;zxcvbnm,./"
For n = 1 To Len(searchstringlang1)
If InStr(1, str1, Mid(searchstringlang1, n, 1)) > 0 Then
searchstringlang2 = searchstringlang2 & Mid(str2, InStr(1, str1, Mid(searchstringlang1, n, 1)), 1)
Else
searchstringlang2 = searchstringlang2 & Mid(searchstringlang1, n, 1)
End If
Next
Me.Filter = "[username]" & " like ""*" & searchstring & "*"" or [username]  like ""*" & searchstringlang2 & "*"""
End Sub

显然,您可以使用任何语言(我选择您在示例中使用的语言)执行此操作,并且您可以按两个字符串[str1str2]的相同顺序键入两种语言。

很幸运