|
|
|
несколько вопросов по Addin
|
|||
|---|---|---|---|
|
#18+
понадобилось сделать ADDIn (mdb/mde/mda) для аксесса но вот натолкнулся на несколько сложностей: 1. как из кода ADDin`a обратиться к таблицам самого этого аддина? пока сделал новое ADO соединение cnn.open syscmd(acsyscmdaccesdir) & ИмяФайла может можно проще? наверное кроме current project.connection есть еще и другие ? 2. как делать вызовы форм проекта или аддина ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2004, 13:29 |
|
||
|
несколько вопросов по Addin
|
|||
|---|---|---|---|
|
#18+
наверное кроме currentproject.connection есть еще и другие ? CodeProject, CodeDb По остальному - не знаю - судьба миловала от написания аддинов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2004, 13:54 |
|
||
|
несколько вопросов по Addin
|
|||
|---|---|---|---|
|
#18+
автор1. как из кода ADDin`a обратиться к таблицам самого этого аддина? Help по CodeDb Например, не CurrentDb.OpenRecordset, а CodeDb.OpenRecordset автор2. как делать вызовы форм проекта или аддина ? Через функции... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2004, 13:55 |
|
||
|
несколько вопросов по Addin
|
|||
|---|---|---|---|
|
#18+
авторЧерез функции... загадочный ответ и что же мне в функции написать? 1 нужно открыть форму AAA аддина вызов из модуля аддина docmd.openform "AAA" 2 нужно открыть форму AAA ИЗ ПРОЕКТА вызов из модуля аддина docmd.openform "AAA" ???????? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2004, 14:01 |
|
||
|
несколько вопросов по Addin
|
|||
|---|---|---|---|
|
#18+
автор Через функции... загадочный ответ и что же мне в функции написать? Алексей, для не менее загадочен вопрос :-) Варианты: 1. Открыть форму Addin-а из текущего проекта 2. Открыть форму Addin-а из addin-а 3. Открыть форму проекта из addin-а ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2004, 14:15 |
|
||
|
несколько вопросов по Addin
|
|||
|---|---|---|---|
|
#18+
В принципе в Addins все также как и в обычной mdb, естественно токо CurrentProject и CurrentData возвращают данные текущей базы, а не самого аддына, для него как уже и говорили CodeProject, CodeDb В деле открытия формы не очень понятна суть проблемы, docmd.openform "AAA" и вперед, все нормально откроется. P.S. ты случаем не взялся писать addin по сохранению своих шаблонов форм/контролов ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2004, 14:20 |
|
||
|
несколько вопросов по Addin
|
|||
|---|---|---|---|
|
#18+
Создать мда-файл. В нем таблицу USysRegInfo такой вот структуры: Subkey | Type | ValName | Value HKEY_CURRENT_ACCESS_PROFILE\Menu Add-Ins\Meklet For Cietums98 Wizard | 0 | HKEY_CURRENT_ACCESS_PROFILE\Menu Add-Ins\Meklet For Cietums98 Wizard | 1 | Expression | =StartWiz() HKEY_CURRENT_ACCESS_PROFILE\Menu Add-Ins\Meklet For Cietums98 Wizard | 1 | Library | C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\filename.mda В общем модуле создать процедуру запуска, например: Global WizDBAs Database Function StartWiz() Set WizDB= CodeDb DoCmd.OpenForm "имя формы", acNormal, , , , acDialog End Function Через меню Сервис-Надстройки-Диспетчер надстроек-Добавить указать путь к своему мда-файлу. В любой форме на кнопку повесить процедуру, в которой написать код: Application.Run "Имя мда-файла.Имя процедуры", напрмер Application.Run "filename.StartWiz". Имя файла указывается без расширения (.мда). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2004, 15:04 |
|
||
|
несколько вопросов по Addin
|
|||
|---|---|---|---|
|
#18+
Обычно вешают на кнопку на тулбаре, особенно удобно на General, тогда твой Addins всегда с тобой и под рукой даже в новых базах. Такие еще дополнения: Mike_LV Через меню Сервис-Надстройки-Диспетчер надстроек-Добавить указать путь к своему мда-файлу. В любой форме на кнопку повесить процедуру, в которой написать код: Application.Run "Имя мда-файла.Имя процедуры", напрмер Application.Run "filename.StartWiz". Имя файла указывается без расширения (.мда). Работать не будет. Т.е. добавление через меню Сервис-Надстройки-Диспетчер надстроек-Добавить позволяет разместить твой Addins в ЛЮБОМ месте и вызывать его ЧЕРЕЗ МЕНЮ Сервис-Надстройки-Диспетчер надстроек А вот для того чтобы вызывать твой addins таким макаром Application.Run "filename.StartWiz" необходимо обязательно разместить его рядом с файлами Acwztool.mde и иже с ними (...\Office10\). Соответсвенно что для этого способа абсолютно все равно добавлял ли ты свой addins в меню Сервис-Надстройки-Диспетчер надстроек. И третье: в случае использования Application.Run "filename.StartWiz" можно столкнуться с таким эффектом что StartWiz будет выполняться ДВА раза. Этот забавный эффект происходит тогда, когда функция StartWiz числится в таблице USysRegInfo как стратующая функция Addin'а. В результате она сначала отрабатывает после подгрузки mda, а потом еще после токо как ее вызывает Access следуя иструкции .Run "filename.StartWiz". (В этом случае конечно можно просто писать .Run "filename"). А конструкцию .Run "filename.StartWiz" удобно использовать если надо запустить другие вспомогательные функции из mda. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2004, 16:14 |
|
||
|
несколько вопросов по Addin
|
|||
|---|---|---|---|
|
#18+
Код: plaintext да, посидел вчера немножко, пока все получается. мало информации "о примемчиках и хитростях" в хелпе послали на MSDN а с MSDN на примеры из комплекта девелопера а где я возьму девелопер?? заодно обнаружил что кнопки в меню addin можно задать фиксировано для компа не регистрируя библиотеку через мастера и не занося в таблицу USysRegInfo записи о ключах реестра и не создавая пользовательские тулбары а зарегистрировав несколько ключей реестра сделал шаблон для теста диалогового окна - все работает теперь дело техники настроить шаблоны в конфигурационной табличке сергей гаврилов предостерег (немного подумав я соглашаюсь с ним) от использования формы в качестве шаблона - вот я и делаю хранение данных в табличке. (так как только некоторые прописанные явно свойства будут применяться к форме) немного запарно будет сделать форму настройки своих шаблонов - для каждого типа свойств свои енумы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2004, 16:22 |
|
||
|
несколько вопросов по Addin
|
|||
|---|---|---|---|
|
#18+
Я вот тоже все выходные крутил в голове эту идею и пришел к мысле что хорошо бы: 1. разделить свойства контролов и формы. Т.е. чтобы можно было применить шаблон к форме, а также к контролам на ней 2. в качестве создания своего шаблона удобно указывать мастеру addin уже готовую форму, что он брал свойства с нее, ну и процессе еще можно выбирать какие свойства сдирать с нее (разделить их например на группы, определить наиболее востребованные и общие свойства, ну в идела можно вообще конечно такое дерево со всеми свойствами забабахать)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2004, 16:42 |
|
||
|
несколько вопросов по Addin
|
|||
|---|---|---|---|
|
#18+
дерево думаю здесь незачем а вот эмуляцию окна свойств формы сделать - неплохо чтоб галочки поставить напротив свойств которые нужно использовать как шаблонные а остальные не трогать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2004, 17:52 |
|
||
|
несколько вопросов по Addin
|
|||
|---|---|---|---|
|
#18+
да, я это и имел ввиду,..... было бы удобно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2004, 18:18 |
|
||
|
несколько вопросов по Addin
|
|||
|---|---|---|---|
|
#18+
Еще проблема надстройки сделанные для mdb не годятся для ADP - не появляется в меню видимо другие ключи реестра. HKEY_LOCAL_MACHINE\Software\Microsoft\Office\10.0\Access\Menu Add-Ins это для мдб. а для ADP? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2004, 16:58 |
|
||
|
несколько вопросов по Addin
|
|||
|---|---|---|---|
|
#18+
Для того, чтобы указать, где AddIn должен работать надо добавить четвертую запись в USysRegInfo HKEY_CURRENT_ACCESS_PROFILE\Menu Add-Ins\AddInName | 1 | Version | 3 Т.е. поле Valname имеет значение Version, а значение поля Value указывает область применения: 1 - mdb 2 - adp 3 - mdb и adp Можете почитать об этом здесь How to Create USysRegInfo Table for Installing Add-ins ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2004, 22:40 |
|
||
|
несколько вопросов по Addin
|
|||
|---|---|---|---|
|
#18+
2 Serge Gavrilov спасибо огромное! уж и не знаю чем буду рассчитываться... уже который раз так получается что если ситуация действительно сложная, никто не знает - появляется сергей и помогает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2004, 10:35 |
|
||
|
несколько вопросов по Addin
|
|||
|---|---|---|---|
|
#18+
добавляю на менюбар свои кнопки Код: plaintext 1. 2. 3. 4. файл сохранен в системной папке офиса 1 почему-то при нажатии на кнопку функция вызывается дважды 2 если аддин сохранен в MDB то при вызове из другого файла - ничего не происходит если компилировать в MDE / MDA то работает но тогда проблемы с совместимостью с другими версиями аксесса кроме той в которой скомпелировал.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2004, 12:01 |
|
||
|
несколько вопросов по Addin
|
|||
|---|---|---|---|
|
#18+
АлексейК1 почему-то при нажатии на кнопку функция вызывается дважды SergeySV это уже объяснил И третье: в случае использования Application.Run "filename.StartWiz" можно столкнуться с таким эффектом что StartWiz будет выполняться ДВА раза. Этот забавный эффект происходит тогда, когда функция StartWiz числится в таблице USysRegInfo как стратующая функция Addin'а. В результате она сначала отрабатывает после подгрузки mda, а потом еще после токо как ее вызывает Access следуя иструкции .Run "filename.StartWiz". (В этом случае конечно можно просто писать .Run "filename"). А конструкцию .Run "filename.StartWiz" удобно использовать если надо запустить другие вспомогательные функции из mda. АлексейК2 если аддин сохранен в MDB то при вызове из другого файла - ничего не происходит если компилировать в MDE / MDA то работает но тогда проблемы с совместимостью с другими версиями аксесса кроме той в которой скомпелировал.... По моему, достаточно переименовать в mda ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2004, 12:32 |
|
||
|
несколько вопросов по Addin
|
|||
|---|---|---|---|
|
#18+
Я как бы тоже пытался все сохранить в mda, но в Acc2000 такой пункт вообще убрали и наскоко я понял, просто из-за того что нет никакой разницы между mdb и mda. В итоге я просто поменял расширение и Access воспринимает этот как файл как нормальный Addin и наоборот, если хочется посмотреть содержимое Addins (если он конечно с кодом), то просто меняем mda на mdb и уже нормально открываем его. С другой стороны я не пробовал брать mde файл и его обзывать mda, но думаю тут не должно никаких различий, просто у этого mda не будет кода и его уже не отредактируешь и все. P.S. 2АлексейК: а ты кнопки на какую панель бросаешь, хорошо бы чтобы Addin свою собств. панель создавал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2004, 14:08 |
|
||
|
несколько вопросов по Addin
|
|||
|---|---|---|---|
|
#18+
Этот забавный эффект происходит тогда, когда функция StartWiz числится в таблице USysRegInfo как стратующая функция Addin'а. В результате она сначала отрабатывает после подгрузки mda, а потом еще после токо как ее вызывает Access следуя иструкции .Run "filename.StartWiz". надо же ведь была такая мысль, но прибил ее на стадии зарождения... SergeySV а ты кнопки на какую панель бросаешь, хорошо бы чтобы Addin свою собств. панель создавал наоборот очень удобно на менюбар - всегда под рукой и инсталируется только на локальный комп а не уходит с копией базы клиенту сделал инсталяшку - копируешь файл в системную папку офиса, один раз открываешь : в стартовой форме кнопка добавить кнопки на меню бар и собственно все. все вроде работает. сейчас тестирую. правда исходные данные для своих шаблонов редактирую пока прямо в табличке, надо интерфейс нарисовать если хочешь пошлю что есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2004, 17:44 |
|
||
|
несколько вопросов по Addin
|
|||
|---|---|---|---|
|
#18+
как меня достал уже "Этот забавный эффект" с двойным запуском ! и в таблицу аддина ставил другую стартовую функцию и вообще убрал оттудова все и переименовал в мда один хрен запускается два раза сделал небольшой код - чтоб блокировать второй вызов - но это же не дело... Посмотрите в чем беда кто имел дело с аддинами? RAR (45 КБ) загрузить лучше отсюда (дурацкий народ не дает возможности напрямую закачивать) прямая ссылка на файл : http://kozin1.narod.ru/down_files/devtools.rar ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2004, 10:56 |
|
||
|
несколько вопросов по Addin
|
|||
|---|---|---|---|
|
#18+
авторкак меня достал уже "Этот забавный эффект" с двойным запуском ! Да уж.... Статическую переменную завели? Попробуйте убрать Application, т.е.: =("devtools.Form_Styles") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2004, 12:50 |
|
||
|
несколько вопросов по Addin
|
|||
|---|---|---|---|
|
#18+
Извините, вместе с Application и ребенка (т.е. Run) выплеснул =Run("devtools.Form_Styles") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2004, 12:54 |
|
||
|
несколько вопросов по Addin
|
|||
|---|---|---|---|
|
#18+
Помогло!!!! надо же... а я две недели колбасился ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2004, 13:12 |
|
||
|
несколько вопросов по Addin
|
|||
|---|---|---|---|
|
#18+
Интересно, что описания этого глюка я нигде не нашел ... Может плохо искал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2004, 21:24 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1648&tid=1675313]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
74ms |
get tp. blocked users: |
2ms |
| others: | 220ms |
| total: | 413ms |

| 0 / 0 |
