Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: 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).


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.