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

Форум: MS ACCESS

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

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

 
 

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

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

тема: абра кадабра и кракозябы
 
 автор: час   (21.11.2007 в 19:19)   личное сообщение
 
 

Проблемма кодировки русских шрифтов при импорте DBF (IV) в *.MDB От: Shishov 16.05.2001 12:20:56
Может у кого есть утилита или пример кода для конвертации файла DBF (IV) в Access формат MDB ?

От: Shishov Alexandr 17.05.2001 16:31:23
1С 7.7 пишет в DBF сразу в WIN кодировке, а Access при линковке или импорте уверен в том, что там DOS кодировка и выполняет перекодировку. В результате которой многие символы искажаются без возможности восстановления.

Решение:
Для борьбы с "кракозябами" надо подправить немного реестр Windows. Пример дан для Windows 98/NT4.0.
[HKEY_LOCAL_MACHINESoftwareMicrosoftJet4.0EnginesXbase]
"DataCodePage"="OEM" параметр надо изменить на на ANSI:
"DataCodePage"="ANSI"
P.S. При изменении реестра программным способом изменения вступают после перезагрузки Access.
Раздел ...Jet4.0... для 2000, ...Jet3.5... для 97>
Подскажите, кто знает, как "программным способом " внести изменения в нужное место реестра?

  Ответить  
 
 автор: osmor   (22.11.2007 в 08:30)   личное сообщение
 
 

http://hiprog.com/index.php?option=com_content&task=view&id=440

  Ответить  
 
 автор: час   (25.11.2007 в 15:55)   личное сообщение
 
 

Спасибо я пошёл....

  Ответить  
 
 автор: Анатолий (Киев)   (26.11.2007 в 10:41)   личное сообщение
 
 

Для импорта из файлов 1С рекомендую использовать ODBC VFP драйвер. И кодировка ANSI, и индексы поддерживает.

  Ответить  
 
 автор: час   (26.11.2007 в 16:05)   личное сообщение
 
 

Спасибо этому Вы меня уже научили но вопрос в другом

 как "программным способом " внести изменения в нужное место реестра?

  Ответить  
 
 автор: Анатолий (Киев)   (26.11.2007 в 17:57)   личное сообщение
 
 

Проще всего использовать WSH:
Dim wshShell As Object
Set wshShell = CreateObject("WScript.Shell")
wshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase\DataCodePage", "ANSI"
'Значение 2 - BDE отключен, 0 - BDE включен, если есть
wshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase\BDE", 2, "REG_DWORD"
Set wshShell = Nothing

  Ответить  
 
 автор: alecks_lp   (27.11.2007 в 11:14)   личное сообщение
 
 

Не совсем по теме(новую лень начинать) вопрос Анатолию:
<<Для редактирования файлов "1С" можно прилинковать их с помощью ODBC драйвера «Visual FoxPro». >>
-Всё прилинковалось удачно, таблицы получились обновляемые.
Проблема: Если таблица на сервере "занята", то Access(2003) зависает намертво. Подскажите как решать.

  Ответить  
 
 автор: Анатолий (Киев)   (27.11.2007 в 14:03)   личное сообщение
 
 

Я не наступал на эти грабли. Пожет потому, что, в основном, только читаю оттуда?
В какой момент зависает? Открывается таблица, вносятся изменения, сохраняются изменения?
>таблица на сервере "занята"
Занята монопольно?
>зависает намертво.
Намертво, или на 10 минут?
Просто виснет, или на что-то жалуется?
Возможно нужно что-то подкрутить в настройках ODBC в ветке реестра:
\HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\Engines\ODBC
В частности "ConnectionTimeout=600" - удерживание соединения по окончании операции обновления на 10 минут. Одни спецы советуют уменьшить до 1, а другие - увеличить до 1500.
Я уменьшил до 1. В этом случае через секунду после экспорта уже могу перенести файлы в другое место мли открыть монопольно.
Изменения вступают в силу после перезагрузеи Access.
Жду результаты.

  Ответить  
 
 автор: alecks_lp   (27.11.2007 в 17:00)   личное сообщение
 
 

>таблица на сервере "занята"-оказалось <не совсем верно>.
На самом деле таблица открывается с полным доступом даже если 1C открыта монопольно и пользователь работает с формой. Зависание наступает при попытке в одном сеансе повторно открыть ранее отредактированную таблицу. Зависает мертво- приходится завершать диспетчером. Правка реестра (до1)видимых результатов не дала.
Вывод: Наверное, следует ограничиться чтением. - Спецы сказали что такое редактирование может привести к потере функциональности и даже краху базы.
Спасибо

  Ответить  
 
 автор: час   (28.11.2007 в 11:16)   личное сообщение
 
 

>Для импорта из файлов 1С рекомендую использовать ODBC VFP
>драйвер. И кодировка ANSI, и индексы поддерживает.
А сам драйвер Fox где взять(как установить?), у меня в списке драйверов тока Access и excel.

  Ответить  
 
 автор: Анатолий (Киев)   (28.11.2007 в 15:47)   личное сообщение
 
 

http://msdn2.microsoft.com/en-us/vfoxpro/bb190233.aspx

  Ответить  
 
 автор: час   (01.12.2007 в 13:07)   личное сообщение
 
 

Спасибо пойду гляну

  Ответить  
 
 автор: andrey   (06.01.2008 в 18:22)   личное сообщение
 
 

Был файл dbase III в файле были текстовые поля (в DOS кодировке).
Открывал ACCESS и связывал с этим файлом и др. и получал необходимые результаты.
Сегодня при данной операции в текстовых полях вместо текста "крякозабры".
Вчера устанавливал прогу и она что-то писала в реестр и добавляла (или изменяла) DLL файлы.
Более подробно сказать не могу. У меня WIN XP, ACCESS 2003
Может установились какие-то настройки которые перекодируют из кодировке DOS в Win (или наоборот)
Неужели придется переустанавливать Windows ?

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