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

Форум: 

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

 
 

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

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

тема: Вопрос к Гуру - корректировка MDE-файлов

 
 автор: Vik   (15.10.2006 в 19:51)   личное сообщение
 
 

Уважаемые Господа,

Возникла необходимость подкорректировать MDE.
Нашел в И-нете MDE Unlocker - http://www.everythingaccess.com/mdeunlocker.htm .

Также авторы пишут, что могут восстановить из MDE код VBA - http://www.everythingaccess.com/mdeconversion.htm

Имеют место быть следующие вопросы:
1. Посоветуйте адрес аптеки с "лекарством" для MDE Unlocker 3.10. либо леченную раннюю версию
2. Есть ли другой инструментарий для вскрытия MDE.

Заранее благодарен за ответы

  Ответить  
 
 автор: Andrew   (16.10.2006 в 06:51)
 
 

раньше было так: ищешь в файле мде с помощю шестнадцатиричного редактора последовательность символов MDE - расположенных примерно в конце файла - правишь E на B - и все в прорядке. счас (в 2000 , xp, 2003 аксах) надо искать последовательность в стиле UNICODE т.е. по 2 байта на символ.
Но вот чтобы восстановить код vba из mde - это покачто тяжело осуществимая мечта

  Ответить  
 
 автор: Vik   (16.10.2006 в 09:54)   личное сообщение
 
 

Спасибо за совет, посоветуте удобный шестнадцатиричный редактор для этих целей (А-2003).

  Ответить  
 
 автор: Силыч   (16.10.2006 в 10:14)   личное сообщение
 
 

Far

  Ответить  
 
 автор: Vik   (16.10.2006 в 12:52)   личное сообщение
 
 

1. Скачал и установил FAR
2. При просмотре (F3) MDE переключаюсь в режим кода (F4).
3. В окно поиска (F7) ввожу "MDE" и выбираю "Искать 16-ричный код" - соответственно строка поиска переключается на "4D 44 45".
4. Результат - байты не найдены.

Разьясните "чайнику" побитно, что делать?

Заранее благодарен

  Ответить  
 
 автор: Serge Gavrilov   (17.10.2006 в 12:23)   личное сообщение
 
 

Вы работаете с Access 03, поэтому MDE записано в Unicode (вам об этом уже сказали),
поэтому ищите 00 4D 00 44 00 45 и исправляете 45 на 42.
Это будет то же самое, что делает mde unlocker IMHO

  Ответить  
 
 автор: Vik   (16.10.2006 в 12:53)   личное сообщение
 
 

Может в Unicode MDE "Звучит" по-другому?

  Ответить  
 
 автор: osmor   (16.10.2006 в 13:11)   личное сообщение
 
 

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

  Ответить  
 
 автор: Vik   (16.10.2006 в 16:31)   личное сообщение
 
 

При использовании MDE Extractor-а ругается "Object variable or With block variable not set".

Также, насколько я понял, MDE Extractor позволяет только извлекать формы и отчеты.

Исходя из необходимости небольшой корректировки двух форм с дальнейшим использование основной функциональности первичного MDE, для меня оптимальное решение - временное открытие для редактирования форм либо через "MDE Unlocker", либо с использованием вышеуказанного шестнадцатиричного изменения MDE-MDB.

Поскольку на данный момент мне не удалось решить проблему двумя этими вариантами , вопрос остается открытым...

  Ответить  
 
 автор: osmor   (16.10.2006 в 16:34)   личное сообщение
 
 

Насколько мне известно, как только Вы что-то поправите в форме и сохраните, то сразу накроется VBA код в модуле это й формы.

  Ответить  
 
 автор: Explorer   (16.10.2006 в 17:31)   личное сообщение
 
 

>не удалось решить проблему двумя этими вариантами ,
>вопрос остается открытым...

этот вопрос остается открытым на протяжении уже многих лет... не тратьте время попусту - максимум, что вы сможете сделать - выдернуть из МДЕ формы, вставить их в свой собственный проект и переписать весь VBA код.

Не скажу что это окажется легко - нужно учесть очень много деталей (свойства БД, ActiveX элементы на формах МДЕ, константы в коде МДЕ и проч и проч и проч.)

но это окажется проще и быстрее чем тратить время ломая (пытаясь сломать) МДЕ-шник

  Ответить  
 
 автор: Vik   (16.10.2006 в 16:41)   личное сообщение
 
 

Уважаемый osmor,
пожалуйста, обратите Ваше внимание на первый топик на странице http://www.everythingaccess.com/mdeunlocker_faqs.htm - MDE Unlocker позволяет корректировать формы/отчеты без потери VBA, кроме того, возможно внесение макросов...

  Ответить  
 
 автор: osmor   (16.10.2006 в 16:47)   личное сообщение
 
 

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

Editing an MDE file is a 3-stage process - as follows:
UNLOCK your MDE file using the MDE Unlocker
Edit your file in Microsoft Access
RE-LOCK your MDE file using the MDE Unlocker
After you have unlocked your MDE file, the original VBA project (including VBA modules) are temporarily disabled in your file - this is to allow editing of your file without any problems. The VBA code will not be re-activated in your file until you RELOCK it (stage 3 above).

  Ответить  
 
 автор: Vik   (16.10.2006 в 17:44)   личное сообщение
 
 

Проверил на "триале" - все так и есть, только ряд подписей превращается в (demo).

Соответственно разыскавается лекарство для MDE Unlocker...

  Ответить  
 
 автор: Serge Gavrilov   (16.10.2006 в 18:16)   личное сообщение
 
 

Да необязательно вам нужен MDE Unlocker... и даже в файле не всегда необходимо менять свойство mde. Откройте Access, откройте VBE, в Access откройте (лучше с Shift) mde. Откройте какую-либо форму, перейдите в VBE, нажмите кнопку Design Mode и в окне Access обнаружите форму, открытую в Design

  Ответить  
 
 автор: Vik   (17.10.2006 в 11:29)   личное сообщение
 
 

Спасибо за совет,
К сожалению, при попытке добавления контрола в открытую таким образом форму ругается
Requested type library or wizard is not a VBA project
Возможно, я что-то делаю не так.
MDE Unlocker позволяет в формы временно разлоченной базы вносить свои контролы и привязывать к ним макросы.

  Ответить  
 
 автор: Serge Gavrilov   (17.10.2006 в 12:15)   личное сообщение
 
 

А я добавлял ...
Вроде вспомнил как:
Откройте еще один экземпляр Access, создайте новый mdb, в нем форму и в ней нужный контрол. Скопируйте его. Перейдите в окно mde (где форма открыта в Design mode) и выполните вставку. Access сругается, но вставку выполнит. Сохраните форму.

  Ответить  
 
 автор: osmor   (17.10.2006 в 12:20)   личное сообщение
 
 

Шаман

  Ответить  
 
 автор: Serge Gavrilov   (17.10.2006 в 12:29)   личное сообщение
 
 

>Шаман

  Ответить  
 
 автор: Vik   (17.10.2006 в 13:01)   личное сообщение
 
 

ШАМАНИЩЕ!

Пока удалось, только Access иногда вываливается и рвется отправлять отчеты Биллу .

Очень благодарен за помощь, если возникнут проблемы - буду беспокоить.

Найдет кто надет леченный MDE Unlocker - сообщите ...

  Ответить  
 
 автор: Serge Gavrilov   (17.10.2006 в 13:15)   личное сообщение
 
 

Не уверен, что вы прочитали следующее мое сообщение
Вы работаете с Access 03, поэтому MDE записано в Unicode (вам об этом уже сказали),
поэтому ищите 00 4D 00 44 00 45 и исправляете 45 на 42.
Это будет то же самое, что делает mde unlocker IMHO

  Ответить  
 
 автор: Vik   (19.10.2006 в 21:15)   личное сообщение
 
 

Уважаемый Serge Gavrilov, действительно, я не прочитал Ваше предидущее сообщение.
Вопрос следующий - в моем файле шестнадцатиричний редактор находит последовательность"MDE" в трех местах, по порядку следующее

1 - ZERIMDGKNQAMMDE


2 - ZERIMDGKNQAMMDE


3 - AllowBypassKeyMDE


Какой из этих MDE менять на MDB?
Пробовал последний - неуспешно - форма открывается в режиме конструктора, но при внесении изменений и сохранении ругается и не сохраняет изменения.

Пока успешно работает "шаманский" ритуал

  Ответить  
 
 автор: Serge Gavrilov   (19.10.2006 в 23:37)   личное сообщение
 
 

Если форма открывается в режиме конструктора, значит вы изменили правильно.
Проверил сейчас сам, изменять и сохранять свойства получается без ругани, добавлять новые контролы только с Copy-Paste. В целом режим с подменой свойства MDE удобнее, чем использование VBE, так как форму можно сразу открыть в режиме конструктора (при открытии формы в нормальном виде может выполнятся какой-то код, препятствующий открытию формы из окна БД). Значит я не совсем прав, говоря, что MDE Unlocker делает то же самое, есть еще "что-то". Но это "что-то" на самом деле не так и существенно.

  Ответить  
 
 автор: Vik   (20.10.2006 в 09:20)   личное сообщение
 
 

Согласен, еще раз спасибо за помощь.

  Ответить  
 
 автор: keirf256   (30.10.2009 в 23:04)   личное сообщение
 
 

Мальчики всем огромное спаибо, очень помогли, по вашей переписки все и у меня получилось,о все классно получилось, формы и отчеты изменены.Отдельное огромное спасибо Сергею Гаврилову и Вику. Шаманит реально!!!!!!!!! А то как всегда и везде по нац проекту разработали програмку для бюдж учр и все, до конца не доработаили, черт ногу сломим, косяки .. везде.и один выход кому работаь на прге тому и дорабатывать учитывая специфику. Вот и пришлось 50 % изменять дописывать, и соответсвенно без отчетов и форм никуда Еще раз огромное спасибо

  Ответить  
 
 автор: Аноним   (16.10.2006 в 08:24)
 
 

Насколько я понял, их программа не извлекает VBA код.
Для того что бы получить VBA нужно постать Файл им, и доказать что файл принедлежит вам.
Это из их FAQ.

Why can't I view the VBA code in my MDE?

When you create an MDE file, the VBA source code is stripped out of the file.
All that is left is the compiled VBA code which is only interpretable by a machine (or a very experienced engineer).
EverythingAccess.com now offers an MDE to MDB Conversion service (provided you can prove ownership of the file).
This service recovers everything from the original MDE except for the original developers VBA comments.
VBA source code is recovered to a very high standard, and includes all the original procedure and variable names.

  Ответить  
 
 автор: Vik   (16.10.2006 в 09:51)   личное сообщение
 
 

Да, эта программа не извлекает, но какой-то инструментарий у них существует...

  Ответить  
 
 автор: osmor   (16.10.2006 в 10:51)   личное сообщение
 
 

Вероятно существует. Но они его не распространяют. Скорее всего, инструмент выдает сырец который требует значительной доработки что бы получился VBA код. Еще существует вероятность, что они не дают это решение как программу, что бы не связываться с MS (а может еще с ними договорились) т.к. получение исходников из P-code затрагивает интересы MS.

  Ответить  
 
 автор: Explorer   (16.10.2006 в 12:21)   личное сообщение
 
 

Лукин уп фо програминг сильвэ буллит

я готов предположить что к исходникам и Пи-Коду этот ресурс вообще не имеет отношения... MDE-шку не обязательно взламывать если ее просто можно переписать заново...

вытащить дизайн объектов БД из MDE - не проблема, а написать код можно и самостоятельно, совсем не обязательно, при этом, тырить чужой...

  Ответить  
 
 автор: Vik   (16.10.2006 в 12:30)   личное сообщение
 
 

На вышеупомянутом сайте приведен пример восстановления кода из MDE - http://www.everythingaccess.com/mdeconversion_example.htm

Относительно "тыряния" кода - согласен.

Если удастся "поработать" с формами - скорее всего решу проблемы через макросы.

  Ответить  
 
 автор: Explorer   (16.10.2006 в 12:36)   личное сообщение
 
 

http://www.everythingaccess.com/mdeconversion_process.htm

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