Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: chr() или chrW() ?
 
 автор: SRG   (30.11.-1 в 00:00)
 
 

Добрый день

Столкнулся с проблемой:
http://hiprog.com/access/article.asp?id=425
На строке:strFind = InputBox("Поиск по первым символам", , Chr(KeyAscii))

Если KeyAscii в диапазоне 0-255, то все ОК
Если KeyAscii равен например 1065 (при работе в системе используеся UNICODE) , то CHR() уже не работает и нужно использовать CHRW().

Подскажите, есть ли возможность определить заранее, какая используется система - однобайтовая или двухбайтовая, чтоб вызывать либо CHR() либо CHRW()? Какой-нибудь флаг в реестре, настройках Офиса, etc... ?

  Ответить  
 
 автор: ????????   (30.11.-1 в 00:00)
 
 

Re: chr() или chrW() ? http://am.rusimport.ru/MSAccess/f2.aspx?type=1&id=2200&find=chrW&page=-1

  Ответить  
 
 автор: SRG   (30.11.-1 в 00:00)
 
 

Что-то я сумневаюсь... :) Если в функции UnChr(intChrCode As Integer) intChrCode =250, а система поддерживает UNICODE, то отработает CHR, хотя должен CHRW.
(Ведь chr(250)<>chrw(250)).
???

  Ответить  
 
 автор: ????????   (30.11.-1 в 00:00)
 
 

Для тех задач, которая по ссылке, эта разница не существенна ... так как там идет возврат кода из события нажатие клавиши , и этот код будет либо до 127 если Ascii или UNICODE, или более 255 если UNICODE.
Т.е. как раз для клавиатуры.
Если не подходит, то надо проверять версию платформы и Access, при этом учесть что Access 97 на любой платформе выдает Ascii

  Ответить  
 
 автор: SRG   (30.11.-1 в 00:00)
 
 

поясните ... *********
...так как там идет возврат кода из события нажатие клавиши , и этот код будет либо до 127 если Ascii или UNICODE, или более 255 если UNICODE.
**********

Уточните, Вы это имели ввиду:
... этот код будет
- либо до 127 если Ascii или UNICODE
- либо от 128 до 255 если NON- UNICODE
- либо более 255 если UNICODE.
?
Если п.2 верен, то я готов согласиться с таким решением :)

  Ответить  
 
 автор: ????????   (30.11.-1 в 00:00)
 
 

от 128 до 1000 c копейками (по моему 1040) выдовать не будет... могли бы и сами проверить.
Кода-то всего одна строчка ;)

P.S. Могут попасться экстрималы, которые будут вводить "нецинзурные" символы с помощью кнопки ALT. Этот случай вам, как домашнее задание, т.к. проверить я могу только на MSAccess 2003 и Win 2003 Server. так вот, в этой связке, при вводе "насильно" кода 128 событие Нажатие клавиши выдает в UNICODE - 1040

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList