|
Программирование >> Реализация целостности данных
ГЛАВА 17 Соадаинй ofteTctB форматов, а также делать недоступными для те элементы, которые не применимы к выбранному типу формата. Порой для каждого формата приходится создавать уникальный набор критериев - и соответственно, набор элементов управления ЛJ[Ющrй задать численные значения для этих критериев. Я предпочитаю по возможности придерживаться варианта, где тип формата набор доступных полъзователю элементов интерфейса. При этом все форматы подразделяются на отдельные категории, определяющие, какие элементы управления доступны пользователю, а какие нет. В правой части диалогового окна на рис. размещено несколько кнопок. Щелкнув кнопку Print (Печать), пользователь открывает вспомогательное позволяющее задать параметры печати - число копий отчета, принтер, на котором он будет распечатан и т. д. Если в вашей системе не предусмотрены такие возможности управления печатью, разместите в диалоговом окне создания пользовательского отчета две кнопки - Print и Print Preview (Предварительный просмотр), позволяющие просмотреть созданный отчет на экране и отправить его на печать. При этом ыиаю не нужно переходить к вспомогательному окну параметров печати. Щелкнув кнопку Save Or Restore Criteria (Сохранить или восстановить критерии), пользователь откроет одноименное диалоговое окно (рис. 17-5). В ег льной части находится группа элементов управления, позволяющих выбирать критерии для отчета. Она полностью идентична группе элементов в центральной части основной формы составления пользовательских отчетов - диалогового окна на рис. В списке, размещенном в левой части (рис. 17-5), представлены сохраненные пользователями критерии отчетов. Когда пользователь выбирает одно из названий в этом списке, в средней части окна отображаются соответствующие параметры. Щелкнув кнопку Save As (Сохранить как), пользователь может ввести новое имя и сохранить критерий, задав для него соответствующие параметры в центральной части диалогового окна. Кнопка Restore позволяет восстановить прежние параметры выбранного критерия и загрузить его в основную форму создание тельских отчетов. Реализовать возможность сохранять пользовательские критерии достаточно просто. Нужно создать для каждой категории по одной таблице с числом полей, соответствующим числу элементов управления диалогового окна. В многопользовательской системе следует определиться, будут ли использоваться одни и те же критерии для всех или каждый получит возможность создать свой собственный набор критериев, Если создаваемые критерии будут общи- ЧАСТЬ Э Прг>тк1{.ование пшьзовгеякбког инт ;)ф(1йс ми для всех пользователей, то соответствующие таблицы следует хранить в основной базе данных, то есть там же, где и остальные совместно используемые Если же каждый создает свой собственный набор критериев, таблицы можно хранить локально, в базе данных клиентского приложения (или локальной базе данных, если для создания клиентского приложения использовался не Microsoft Access, а другое средство разработки). - Save or Restore Criteria : illilu: Рас, 17-5 mi>, позволяющее сохранять новые тавдивать прежние критерии пользовательских отчетов Оба этих подхода отнюдь не являются Вы можете реализовать систему так, чтобы каждый пользователь выбирал, как 1 . так и из своего собственного набора критериев. Чтобы реализовать такую возможность, либо добавьте поле, содержащее фамилию и имя пользователя, в таблицу, где хранятся критерии, либо отобразите Hinjcjijo результат выполнения операции UNION над общей и локальное цами. Я предпочитаю, чтобы фамилии и имена пользователей хранились 1иие критериев - . облегчает нод-держку системы, когда один и тот пользователь регистрируется и работает за разными а не на одном рабочем месте. Пользователи могут хранить критерии, распределив их но категориям отчетов. При этом сохраненные критерии применимы к любому отчету, к данной категории (разумеется, если спе-критериев для всех отчетов). Но иногда целесообразно связать критерии с определенным форматом отчета (рис. Реализация такого подхода также не представляет сложностей. Потребуется создать таблицы для каждого типа критерия (можно использовать таблицы, созданные для сохранения критериев) и промежуточную таблицу, которая вдывает форматы OTicTOii и определенные критерии (рис. 17-6).. RsportCate ог1 CategorylD CateEJc>i7Name CategorvTableNarnw fteportForpiinls CalegorylO Formal lei For mat Name Physical Name NamedRporis Format ID RepprilD ReportName CrlterialD CatcgoryCrlterlq CrltsraiB Fsldl FieWN Puc 17-6. Структура пользуемых для сохранения критериев и отчетов В таблице ReportCategories (Категории отчета) есть поле Category-Table Name {V\\w таблицы категории). Это позволяет определить в системе ту таблицу, которая содержит критерии шиеся к указанной категории формата отчета. Если структура критериев одинакова для все тов, этс поле в таблице не нужно. Если же для разных форматов используются разные наборы критериев, оно обязательно должно быть включено в таблицу ReportFormats. Важно, что данная структура таблиц (рис. 17-6), позволяет конфигурировать отчеты на этапе исполнения программы. Поля For-matName (Название Ьормата) и и.?/га/Л7№к(Имя соответствующего объекта) включены в таблицу Report rormalsma поддержки этой возможности. Если форматы отчетов определяются как объекты базы данных (например, отчеты Access) или как отдельные файлы (другие средства создания отчетов), вы можете обходной чтобы реализовать возможность добавить отчет в систему на этапе исполнения клиентского приложения. Для этого нужно разместить список форматов, отображаемый в форме пользовательского приложения, в таблице Reportlormats, а не использовать жестко заданный список. Чтобы добавить в систему новый отчет, создайте новый объект, формат (в Access это отчет, в других средствах создания отчетов - отдельный файл) и затем добавьте запись в системную таблицу ReportFormats. Новый формат будет автоматически включен в систему и доступен всем пользователям, причем это никак не повлияет на функциональность ядра системы. Ноле FormaliVamecoaep-жит название формата, отображаемое пользователю в списке тов, а поле PhysicalName - реальное имя объекта и путь к нему (если объекты хранятся не в самой базе данных). Описанный подход позволяет существенно упростить пользовательский интерфейс по сравнению с вариантом, когда создания
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |