none
Как в Access 2016 исправить проблему открытия файлов и баз? RRS feed

  • Вопрос

  • Всем доброго времени суток!

    Расскажу подробно (может разобраться поможет), есть ноутбук с лицензионным ПО: Windows 10 (x64) и MS Office 365 Home (x32).

    Помогали мне дистанционно ставить чужое лицензионное ПО и что-то сделали с  компьютером (использовалась программа OLE32Register.exe+командная строка+regsrv32). После этого некоторые другие программы перестали запускать и потребовали OLEPRO32.dll, самостоятельно скачал и скопировал в папку \System32 и перезагрузился. После этого программы запустились.

    Далее стал стал запускать Excel, хотел поставить надстройку "Поиск решения", ничего не получилось - появилось окно, что он не может выполнить какой-то макрос VBA.

    Потом решил запустить Access. Ситуация с ним такова.

    1.При импорте внешних данных (txt и др.) появляется белое окно "mx_FrmMain" и никакие кнопки (Cancel, OK, Finish) не действуют.

    2.Пытаюсь открыть чужую базу Access появляется окно с надписью "Проект Visial Basic в проекте поврежден". Нажимаю Справку - указывается "Эта ошибка может возникнуть при попытке преобразовать базу данных Access 97 в базу данных более поздней версии.......". И база не открывается.

    3.Открываю базу Access, ранее созданную в версии 2016, открывается, но сразу после этого 3 раза промелькнуло окно "Поиск файла stdole2.tlb". Потом запускаю команду "Сжать и восстановить" для этой базы - также мелькает это окно.
    4.Создаю пустую базу с одной пустой таблицей, сохраняю и закрываю. Снова пытаюсь ее открыть и получаю окно "Не удается открыть базу данных из-за ошибки ее VBA-проекта. База данных может быть открыта, только если сначала удалить VBA-проект. При удалении VBA-проекта будут удалены все программы в модулях, формах и отчетах...."

    Стал проверять положение и размеры файла stdole2.tlb. Он записан в 5-ти местах, причём, есть размером 18Кb и есть размером 297b. В общем, почитав в интернете, я понял, что 32-х битный следует записать в \SysWOW64\... и в \WinSxS\wow64..._stdole2_.... , а 64-х битный - в \system32\ WinSxS\.... и в \WinSxS\amd64....._stdole2_..... И они все должны быть 18Kb.

    Теперь не знаю, правильно ли это, и как это сделать, если доступ к папкам закрыт. Помогите, пожалуйста, разобраться в причинах и найти способ устранения ошибки?

    11 января 2017 г. 19:43

Ответы

  • "После этого некоторые другие программы перестали запускать и потребовали OLEPRO32.dll, самостоятельно скачал и скопировал в папку \System32 и перезагрузился"

    мало скопировать, надо выполнить regsvr32 olepro32.dll 

    "Теперь не знаю, правильно ли это, и как это сделать, если доступ к папкам закрыт"

    запустить проводник с правами администратора

    "Помогите, пожалуйста, разобраться в причинах и найти способ устранения ошибки?"

    для начала, попробуйте переустановить Office

    12 января 2017 г. 3:09