ник: AlexSyr
a = AscW(a)
Select Case a
Case ChrW(561) ' дапустим еквиволент символа 561 это 33 в анси
|
Во первых перед Select Case переменная a ,будет содержать СТРОКУ с кодом, значит как минимум нужно:
не Case ChrW(561)
а Case "561"
|
Кроме того Вы думаете, что если Me.P1 = Chr(33), то вставили ОДНОБАЙТОВЫЙ код.
Проверяйте:
Dim x() As Byte
...
Me.P1 = Chr(33)
MsgBox LenB(Me.P1) 'выведется 2, т.е. ДВА БАЙТА
x = Me.P1 'Ставим Breakpoint, нажимаем один раз F8, смотрим в Locals Window
|
Видим в массиве х ДВА БАЙТА - 33 и 0, т.е. вставили UNICODE, причем для Basic Latin кодовой страницы. Вы этого добиваетесь???
из хелпа:
Text is stored in ANSI format within Access Basic code and in Unicode format in Visual Basic (Access Basic was used in early versions of Microsoft Access).
|