powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Создать мастера
25 сообщений из 29, страница 1 из 2
Создать мастера
    #37653081
Фотография Palarm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто нить знает, можно ли в Аксес модифицировать стандартного мастера построителя-форм/отчетов, чтобы он делал формы по заданному макету с заданными контролами и прописывал заданный код в VBA?
...
Рейтинг: 0 / 0
Создать мастера
    #37653118
studieren
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Palarm,

Создайте заранее форму со всеми прибамбасами. А потом
- если у Вас А2003, то "Сервис" ==> "Параметры", и там ищите вкладку "Формы и отчёты", там же находите "Шаблон формы" и туда пишите название шаблонной формы.
- если у Вас А2007, то щёлкаете значок на верхнем левом углу, потом внизу щёлкаете "Параметры Access" и там выбираете "Конструкторы объектов". Справа во вкладке "Формы и отчёты" также имеется "Шаблон формы".
...
Рейтинг: 0 / 0
Создать мастера
    #37653122
studieren
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Palarm,

После этого как только Вы создаете новую форму, то все Ваши прибамбасы уже будут в новой форме.
...
Рейтинг: 0 / 0
Создать мастера
    #37653241
Фотография Palarm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не будет там ничего, кроме настроек по умолчанию для контролов.

Собственно хочу сделать своего мастера, чтобы когда запускаю родного аксесного, вместо его шаблонов и настроек были мои. Но думается, это надо подменять какую то mde из установочного набора, что геморно и чревато, хотя теоретически возможно. Или может узнать, как зовется эта форма, при открытии закрыть и подсунуть свою.

Хотя все это фигня наверное. Столько заморочек, только для того, чтобы запускать мастера из меню Аксес. Вообщем, сделаю обычно: CreateForm/Control и все такое.
...
Рейтинг: 0 / 0
Создать мастера
    #37653255
studieren
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Palarm,

Я извиняюсь, я что-то перепутал. :)
Действительно кодов не видно. :)
...
Рейтинг: 0 / 0
Создать мастера
    #37653298
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Palarm,
а CopyObject не подойдет?
...
Рейтинг: 0 / 0
Создать мастера
    #37653870
Фотография Palarm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пойдет. Я так и сделал - проще скопировать шаблон и выкинуть из него лишние контролы, чем генерить их. К тому же, если в свойствах контролов прописаны функции - тогда нет мороки и с VBA. Хотя все в свойства не засунешь, придется таки как то парсить и чистить VBA :), Ну может выгрузить его в текст - почистить и обратно загрузить. Или там кажись есть стандартный поиск нужной процедуры по имени и наверное есть возможность ее грохнуть. Что то вроде:
Код: vbnet
1.
VBE.ActiveVBProject.VBComponents.Item("form_" & frm.Name).CodeModule.Find("fun_", 0, 0, 0, 0) = True Then


Только вместо Find надо попробовать DeleteLines. Вообщем как то так :)
...
Рейтинг: 0 / 0
Создать мастера
    #37653884
Фотография nord-woolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Palarm... Собственно хочу сделать своего мастера, чтобы когда запускаю родного аксесного, вместо его шаблонов и настроек были мои...
Проще, мне думается, создать полностью свою надстройку,
которая бы при загрузке создавала свой тулбар,
чем связываться с изменением/перехватом штатных.
Давно хотел этим заняться, но лееень... :)

ps. Но попробовать "перехватить" клик штатной кнопки мастера стоит попробовать.
По-идее, сложностей не должно быть.
...
Рейтинг: 0 / 0
Создать мастера
    #37660315
Фотография Palarm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чего то я затупил. При выполнении простого кода пищит "Subscript out of range".
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
'копируем шаблон
DoCmd.CopyObject "", Me!ObjectName, acForm, "frm_A_Schablon"
'убираем галку скрытый
Application.SetHiddenAttribute acForm, Me!ObjectName, False
'открываем форму
DoCmd.OpenForm Me!ObjectName, acDesign, , , , acHidden
Set frm = Forms(Me!ObjectName)
'если примечание не нужно, удаляем его
If Me!flg_Prim = False Then
    DeleteControl frm.Name, "Comment"
    DeleteControl frm.Name, "SH_ID"
    DeleteControl frm.Name, "cmd_Text"
    'чистим код
    For i = 74 To 82
        Application.VBE.ActiveVBProject.VBComponents.Item("Form_" & frm.Name).CodeModule.DeleteLines i
    Next i
End If


В смысле не существует строк от 74 до 82? Таки существуют. Или может, не видит модуль формы основного проекта из прицепленного к нему библиотечного модуля, в котором этот код выполняется? Но вот, скажем, такая штука прокатывает:
Код: vbnet
1.
If VBE.ActiveVBProject.VBComponents.Item("form_" & frm.Name).CodeModule.Find("funReqControls", 0, 0, 0, 0) = True Then
...
Рейтинг: 0 / 0
Создать мастера
    #37661420
Фотография Palarm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никто не морочился с удалением кода?
...
Рейтинг: 0 / 0
Создать мастера
    #37661489
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имхо, надо изменить порядок удаления линий в модуле
Код: vbnet
1.
For i = 82 To 74 step -1
...
Рейтинг: 0 / 0
Создать мастера
    #37661506
Фотография Ёжик`
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PalarmНикто не морочился с удалением кода?


<off>
"Никто не писал ИИ?"
Или так.
"Никто не писал программу, которая пишет программы?"

</off>
...
Рейтинг: 0 / 0
Создать мастера
    #37661530
Фотография Palarm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, та же фигня. И потом порядок в цикле по порядку я взял из хелпа
...
Рейтинг: 0 / 0
Создать мастера
    #37661541
Фотография Palarm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ёжик`"Никто не писал программу, которая пишет программы?"Микрософт однако написал мастера, генерящего БД по шаблону и втыкающего в модули код. Правда это никому нафиг не нужно оказалось - ну так сделали же, значит можно повторить.
...
Рейтинг: 0 / 0
Создать мастера
    #37661586
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так попробуйте
Код: vbnet
1.
2.
3.
4.
5.
6.
Dim mdl As Module
Set mdl = frm.Module
    For i = 74 To 82  'mdl.CountOfLines
        mdl.DeleteLines i, 1
    Next i
End Sub
...
Рейтинг: 0 / 0
Создать мастера
    #37661693
Фотография Palarm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
Dim mdl As Module
Set mdl = frm.Module
For i = 82 To 74 Step -1 
   mdl.DeleteLines i, 1
Next i


Вот так сработало без косяков. Хелпы врут, mds_world - гений :)
...
Рейтинг: 0 / 0
Создать мастера
    #37732992
Фотография Palarm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nord-woolfДавно хотел этим заняться, но лееень... :)А мы, тут понимашь - побороли :) ARS - конструктор приложений Access для начинающих
...
Рейтинг: 0 / 0
Создать мастера
    #37733020
Фотография nord-woolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Palarm,
Ну молодцы. Да!

Ссылочку поправлю: ARS
...
Рейтинг: 0 / 0
Создать мастера
    #37733027
ТвердолобыйЛамер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nord-woolfСсылочку поправлю: ARS
Вот такая беда мне сегодня пришла на мыло. Кто нибудь уже пользовался? Стоит ли заморачиваться???
...
Рейтинг: 0 / 0
Создать мастера
    #37733036
Фотография nord-woolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Джони,
Любой конструктор в конструкторе ограничивает возможности первого конструктора (самого Access)
возможностями второго конструктора (ARS).
Для более-менее простых задач такие конструкторы (ARS) упрощают/ускоряют разработку интерфейса.

Тебе, я думаю, надо самому развиваться.
Ты же не на поток приложения гонишь, как на конвейере?
...
Рейтинг: 0 / 0
Создать мастера
    #37733303
Фотография Palarm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понятно, что глупо пытаться мутить на этом какую то навороченную ERP – здесь задача попроще. Мы исходили из принципов – дать начинающим удобный инструмент, чтобы они могли быстро сделать готовый продукт и сразу же получить удовлетворение от его работы. А учебу, разумеется, никто не отменял. Но согласитесь, разбираться «что там и как» намного приятнее, когда есть рабочее (а не полу-демо-убого-корявое) приложение, выполняющее конкретные задачи. Кроме того, следуя правилам, заложенным в утилите, начинающий приучит себя давать осмысленные названия контролам, полям таблиц, сделает привычным интерфейс из пары форм: поисковая – редактор, не будет пытаться свести все данные в одну таблицу или одну форму «чтобы было понятнее», не будет ее раскрашивать как попугая в разные цвета и разные шрифты и т. д. Сначала возникнет рефлекс подражания (а как там сделано?), затем придет понимание (да, блин, действительно – так и надо делать).

Собственно это просто сборник готовых рецептов который есть у каждого программера – только он приведен в порядок и снабжен хелпом. Многие из здесь присутствующих могли бы и по круче замутить.

PS:
Была сначала идея – сделать ее бесплатной, просто собрав до кучи наработки, которые гуляют в и-нете. Или даже закинуть тему на каком нить форуме, а «давайте замутим вот такую штуку для общего пользования», но после размышлений пришлось отказаться, потому что:

1. у каждого прогера свои тараканы. На Hiprog когда то мутили проект «Игла» - он с треском провалился. Потому как кто в лес, кто по дрова. Не получится свести – надо подстраиваться. А это вряд ли получится, если все «вумные».
2. не верю я в «бесплатные решения», потому, что как сказал nord-woolf - ле..еень :) Этим все сказано – нужен выхлоп, иначе дальше лозунгов и ковыряния в носу ничего не будет, если конечно ты не мега-альтруист вроде Столлмана. Но я увы не такой - имхо, грешен :)
...
Рейтинг: 0 / 0
Создать мастера
    #37733306
EvAnd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ёжик`,

Ёжик`"Никто не писал программу, которая пишет программы?"


А чего тут плохого? Я пишу такие программы (почти каждый день) - чё здесь плохого?
...
Рейтинг: 0 / 0
Создать мастера
    #37733307
EvAnd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PalarmПонятно, что глупо пытаться мутить на этом какую то навороченную ERP – здесь задача попроще. Мы исходили из принципов – дать начинающим удобный инструмент, чтобы они могли быстро сделать готовый продукт и сразу же получить удовлетворение от его работы. А учебу, разумеется, никто не отменял. Но согласитесь, разбираться «что там и как» намного приятнее, когда есть рабочее (а не полу-демо-убого-корявое) приложение, выполняющее конкретные задачи. Кроме того, следуя правилам, заложенным в утилите, начинающий приучит себя давать осмысленные названия контролам, полям таблиц, сделает привычным интерфейс из пары форм: поисковая – редактор, не будет пытаться свести все данные в одну таблицу или одну форму «чтобы было понятнее», не будет ее раскрашивать как попугая в разные цвета и разные шрифты и т. д. Сначала возникнет рефлекс подражания (а как там сделано?), затем придет понимание (да, блин, действительно – так и надо делать).

Собственно это просто сборник готовых рецептов который есть у каждого программера – только он приведен в порядок и снабжен хелпом. Многие из здесь присутствующих могли бы и по круче замутить.

PS:
Была сначала идея – сделать ее бесплатной, просто собрав до кучи наработки, которые гуляют в и-нете. Или даже закинуть тему на каком нить форуме, а «давайте замутим вот такую штуку для общего пользования», но после размышлений пришлось отказаться, потому что:

1. у каждого прогера свои тараканы. На Hiprog когда то мутили проект «Игла» - он с треском провалился. Потому как кто в лес, кто по дрова. Не получится свести – надо подстраиваться. А это вряд ли получится, если все «вумные».
2. не верю я в «бесплатные решения», потому, что как сказал nord-woolf - ле..еень :) Этим все сказано – нужен выхлоп, иначе дальше лозунгов и ковыряния в носу ничего не будет, если конечно ты не мега-альтруист вроде Столлмана. Но я увы не такой - имхо, грешен :)
Отве-чать!
...
Рейтинг: 0 / 0
Создать мастера
    #37733308
MikeLed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Palarm2. не верю я в «бесплатные решения», потому, что как сказал nord-woolf - ле..еень :) Этим все сказано – нужен выхлоп, иначе дальше лозунгов и ковыряния в носу ничего не будет, если конечно ты не мега-альтруист вроде Столлмана. Но я увы не такой - имхо, грешен :)
Однако, сами пользуетесь бесплатными рецептами.
Исходя из Ваших же рассужлений, Вы должны mds_world Palarmmds_world - гений .
Не знаю - по чем нынче гениальность.
...
Рейтинг: 0 / 0
Создать мастера
    #37733321
Фотография Palarm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikeLedОднако, сами пользуетесь бесплатными рецептами.
Однажды, на каком то аксовом форуме (не помню точно где) пришел пацанчик и предложил набор простеньких решений для начинающих, оформленных в виде кнопочной формы-вопросника: как выделить строку в ленточной, как открыть форму на нужной записи и т. д. Просил всего 1 бакс по смс – но фига там. Га, га, гы, гы – "да я такое на коленке за пол-часа", "да нафиг оно кому нужно". В итоге продал он штук 10-20, потом кажись оно растеклось на халяву – и наверняка многие дружно стали качать «никому не нужное». Имхо, менталитет-с – халява наше все.

В ARS половина кода из статей того же сайта, только что более причесаного – если жалко 500р – можно собрать самому «на халяву». Чужого кода там с гулькин нос, и если возражать по нему – тогда: сведение до кучи (и переделка) в удобный конструктор, поддержка и развитие с лихвой перекрывают такую «халяву» в сторону геморроя.

А в PS я хотел просто пофилософить на тему актуальности таких решений, перспектив и т. д. Вот nord-woolf дело сказал:

Любой конструктор в конструкторе ограничивает возможности первого конструктора (самого Access) возможностями второго конструктора (ARS).

Могу еще добавить:
Он накладывает определенные ограничения например на интерфейс. Стартовая в виде дерева штука прикольная – но может для какой то задачи не пойдет, хотя я например не представляю – для какой. Ведь можно практически без ограничений создавать группы/подруппы меню – всяко лучше стандартного меню (а про кнопочные формы вообще) молчу. Так же кому то может не понравиться неказистый дизайн поисковых – но тут мы исходили из принципа: минимум сторонних компонентов – часто глючат они. Зато создание простых справочников сводится к созданию пункта меню и таблицы – чем не позитив?
Но можно еще проще: если делать таблицы одинаковой структуры, тогда создание типового справочника вообще сведется к копированию пункта меню, так как при этом:

1. создается копия таблицы на «сервере» - прилинкованном mdb файле
2. создается линк в проекте
3. создается запись в таблице линковок
4. создается запись в таблице объектов с правами доступа копии

Юзеру только и останется, что поправить доступ в форме администрирования.
...
Рейтинг: 0 / 0
25 сообщений из 29, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Создать мастера
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]