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

 

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

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

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

ник: Алексей М.
Для корректной работы базы на разных компьютерах решил подстраховаться следующим образом:
Старт----------------
1 - считываю в глобальные переменные значения системных, через функции
LocalReg = GetLocaleInfo(LOCALE_SDECIMAL)
LocalRegDst = GetLocaleInfo(LOCALE_SSHORTDATE)
2 - выставляю свои значения
Call SetLocaleInfo(LOCALE_SDECIMAL, ".")
Call SetLocaleInfo(LOCALE_SSHORTDATE, "dd.MM.yy")
3 - перед выходом из Access восстанавливаю считанные значения
Call SetLocaleInfo(LOCALE_SDECIMAL, LocalReg)
Call SetLocaleInfo(LOCALE_SSHORTDATE, LocalRegDst)
Восстановление проходит без проблем.
Проверяя работу базы после коррекции переменных заметил, что разделитель
разрядов из запятой переключается на точку, а краткий формат даты
в полях остается dd.MM.yyyy.
Вызов MsgBox GetLocaleInfo(LOCALE_SSHORTDATE), vbExclamation, "БД xxxx" дает результат "dd.MM.yy",
т.е. как и прописывал. Самое непонятное, что Windows все нормально воспринимает и в проводнике
отображаются даты в соответствии с измененными установками. В Excele тоже все меняется. Может подскажете,
в чем причина?


Ваше имя:

Пароль:

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

Сообщение:

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

Прикрепить:

 

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