Динамический интерфейс

Рачаев Олег
Дата: 01.06.2004 17:16:45
Всем привет.

Народ, поделитесь пожалуйста кто какие ипользует способы для создания динамического интерфейса в ацесе? В особенности интересует
1) подход при создании динамически формируемых и располагаемых контролов в формах, связанных между собой.
2) подход при создании связанных диалоговых форм.
Поскольку я только начал влезать в эту тему интересно послушать мнение спецов, дабы что называется избежать типичных ошибок и сделать все в лучшем стиле программирования в ацесе.

Заранее спасибо.
Varan
Дата: 01.06.2004 17:38:05
Я не спец, но вот говорю.
Опыты по этой теме у меня не было времени проводить.
Один раз нужно было сделать форму с тремя почти одинаковыми табличными подформами. Мне лепить три одинаковые формы показалось лениво, и я сделал одну форму (табличную), которая кодом форматируется (в смысле, заголовки меняются, ширина и данные грузятся), а каждый SourceObject подчиненной формы ссылается на эту форму. Но тут гемор был в отлавливании событий этой "клонированной" формы, и , в общем и целом, мой вывод такой, что игра с динамическим интерфейсом не стоит свеч, поскольку с ним больше возни, чем проку.
Varan
Дата: 01.06.2004 17:45:00
Не стоит свеч в Access и в определенных случаях, я имел в виду.
Менять ширину/видимость колонок, к примеру, в отчете или что-то еще такое элементарное - в этом ничего опасного нет.
Boroda
Дата: 01.06.2004 18:00:56
Не совсем согласен с Varan.
Мной сделан интерфейс, настраиваемый данными. Очень удобно для действительно больших приложений с большим количеством пользователей ( У меня - порядка 200 (ADP)). В случае, если приложение невелико и пользователей немного, то действительно количество гемора превышает эффект. Пока юзеров было порядка 40 такой целью не задавался.

Гемор в отлавливании событий: в основной форме пишешь public процедуры, которые вызываются событиями подчиненных. Особого гемора не заметил. Зато приложение становится модульнее и читабельнее.

Я контролы динамически не добавляюю. Динамически меняю Source (всякие), видимость, размеры и т.п.

Что ты имеешь в виду под связанностью диалоговых форм?
Скоко юзеров, каков размер приложения?
Varan
Дата: 01.06.2004 18:16:27
Подчиненная форма как контрол имеет всего 2 события - вход и выход, чего недостаточно. Я тоже по событию подчиненной вызывал процедуру в главной, но у меня была какая-то проблема, вроде бы главная не могла понять, откуда пришел вызов или что-то типа того.
Допускаю, что эту идею можно и нормально реализовать.
Рачаев Олег
Дата: 01.06.2004 18:34:18
Boroda, под связанностью диалоговых форм я имею ввиду следуещее:
когда например из одной гагантской формы с большим количеством подчиненных, я вызываю впомогательные формы по типу вопрос-ответ, чтобы ,
1) например, сделать быстрые настройки(когда юзер заполняет только основные данные) для вновь создаваемой записи(ях) во множесте таблиц(их представляют подчиненные формы), которые связаны с главной таблицей
2) чтобы реализавать бизнес логику приложения
3) чтобы акцентировать внимание пользователя на те или иные аспекты для вновь вводимой информации
и т.п.
Varan
Дата: 01.06.2004 20:06:52
Рачаев Олег
Может я тебя и не совсем верно понял, прошу прощения за сумбур.
Меня вот второй вопрос заинтересовал про "связанные диалоговые формы". В моем "унаследованном" приложнии есть куча мест, где форма вызывает другую форму, дальше например, ждет что-то, спрашивает чего-то, далее в зависимости от результатов происходят те или иные чудеса - какие-либо операции с БД, либо еще какие-либо диалоги. Ты об этом в п.2 говорил?
При этом эти диалоги перемешаны с операциями действий с БД, что делает программу совершенно нечитаемой и неудобоваримой. Возникает вопрос, как это лучше всего упорядочить.
Есть шаблон MVC - модель-представление-контроллер. Насколько я понял, на основе его можно полностью разнести бизнес-логику, базу данных и представление. Пусть там окна хоть хороводы водят, но в этом участе кода не будет ни строчки из слоя БД или БЛ. Могу, наверное, переделать пример на эту тему из java на Access, видел в какой-то книге.