Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2009, 17:43   #1
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
Вопрос чужое MDE приложение при формировании отчёта(экспорта) создаёт DBF с проставленной кодовой страницей 0x26

есть MDE приложение. Есть много форм, есть кнопочка export to DBF.
при этом создаётся DBF файл (DBF сигнатура - первый байт, = 0x8B =
dBASE IV, dBASE 5 Таблица с memo-полями .DBT формата dBASE IV )

так вот, в байт кодовой таблицы в DBF проставляется 0x26 (это Russian OEM - 866)

при передачи данного файла у вышестоящей организации возникают проблемы с русскими буковками (по их словам при импорте вопросики вместо русских букв). Присланные для образца "нормальные" DBF с другого филиала в качестве кодовой страницы имеют ноль.

попытался открыть проект в MS Access - Visual Basic - но там при попытке открыть код - "Project is unviewable"...

опытным путём выяснено, что влияет параметр
[HKEY_LOCAL_MACHINE\SOFTWARE\Microso ft\Jet\4.0\Engines\Xbase]
"DataCodePage"="OEM"
но там DataCodePage может быть только или "OEM" (тогда в DBF пишется кодовая страница 0x26) или "ANSI" (тогда пишется кодовая страница 0x7E)
при отсутствии параметра "DataCodePage" всё равно пишется кодовая страница 0x26

вопросы, собственно такие:
— как сделать, чтобы кодовая таблица вообще не писалась в DBF ?
— можно ли получить доступ к исходному коду VBA из файла приложения (MDE)

спасибо.
p.s. вышеприведённые вопросы ко всем, но особая надежда на Teslenko_EA — очень надеюсь, что Евгений сможет помочь...

p.p.s. постобработку DBF файла для очистки кодовой страницы не предлагать, ибо этот способ я предполагаю применить, если ничего другого сделать не удастся...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.10.2009, 02:48   #2
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Serge_Bliznykov.
к сожалению Ваших надежд мне оправдать не суждено.
1. "как сделать...?"
СУБД MS Access кодировку по умолчанию берет из настройки Язык и региональные стандарты, думаю можно поэкспериментировать (файл в архиве)
2. в A97 (говорят) были случаи, удачно завершившейся попытки декомпиляции (я не знаю ни одного). о "удачных" попытках в A2000 я не слышал совсем ничего, только "рекомендации".
максимум что допускает MDE это создание и редактирование таблиц и SQL конструкций.
на основании изложенного :
возможно (с большой вероятностью) DBF формируется сохраненным запросом в MDE, тогда существует вероятность перехватить его выполнение и перенаправить на выполнение собственной SQL конструкции ("конвертора") ,
других вариантов я не вижу.
Евгений.
Вложения
Тип файла: zip CodePage.zip (290 байт, 14 просмотров)
Teslenko_EA вне форума Ответить с цитированием
Старый 21.10.2009, 16:11   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

докладываю.

замена CodePage (то, что в приложенном файлике — это "классика", у меня в реестре всё так и есть) ничего не дала.

ну наш Админко всё же раскопал тему:
Чтение DBF файла (кодировка)

помог совет:
Код:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase] 
"DataCodePage"="ANSI" 
"BDE"=dword:00000002
p.s. что означает двойка в параметре BDE и как параметр BDE вообще влияет на экспорт файла из Access — понятия не имею.
но, тем не менее, цель достигнута!


тему можно закрывать....
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.01.2011, 16:50   #4
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

возникла такая же проблема....

вопрос
где найти??
"BDE"=dword:00000002
maLoy*508 вне форума Ответить с цитированием
Старый 17.01.2011, 17:09   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
где найти??
Ручками создай этот ключ.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.01.2011, 17:26   #6
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

2 Stilet, Serge_Bliznykov

Благодарю. Помогло
maLoy*508 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставка текста в чужое приложение MyasNick Win Api 19 08.04.2012 10:46
Закрыть чужое приложение Михаил Юрьевич Общие вопросы Delphi 3 28.03.2009 21:26
Вставка из буфера в чужое приложение Denager Общие вопросы Delphi 2 20.09.2008 13:24
чужое приложение Electrod Win Api 12 27.01.2008 17:04
Как активировать чужое приложение Hintman Win Api 3 30.04.2007 16:24