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

 

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

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

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

ник: Анатолий (Киев)
Видимо у вас на каком-то этапе происходит преобразование Unicode -> ANSI и из-за региональных настроек эти символы портятся.
Где применяется разультат вашей функции?
Какие строковые функции используются?

Я создал таблицу с текстовым полем и внес туда символы Alt+0243, Alt+0244 (ó,ô), выполнил инструкцию:

    s = CurrentDb.OpenRecordset("Table4").Fields("[MyText]")
'    s = DLookup("[MyText]", "[Table4]") - тот же результат 

MsgBox AscW(s) & " " & AscW(Mid(s, 2))
MsgBox AscW(ChrW(AscW(s))) & " " & AscW(ChrW(AscW(Mid(s, 2))))

Получил правильные коды. Если просто вывести строку в MsgBox, то получу "oo", т.е. выполняется преобразование в ANSI и получаются символы с кодом 111.


Ваше имя:

Пароль:

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

Сообщение:

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

Прикрепить:

 

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