Заполнение справочных таблиц в программе
Модератор: kdv
Заполнение справочных таблиц в программе
Хотелось бы узнать, кто как заполняет справочные таблицы (не совсем корректное название, я понимаю) в базе, когда их много. Т. е. имеется много таблиц, причем данные в них изменяются достаточно редко - один раз забили и забыли. Писать отдельное приложение/окно/форму для работы с каждой - геморой. Тем не менее пользователь должен иметь к этим таблицам доступ. Есть идея написать универсальное окно, в котором предлагается сначала выбрать справочную таблицу для редактирования, а затем в обычном Grid-e (Delphi) вносить изменения. Это окно не отягощено интерфейсом, т.к. пользоваться им придется редко. Укажите, правильно ли мыслю, поделитесь своим опытом.
Re: Заполнение справочных таблиц в программе
Это кому, что нравится. Реализации самые разные. Есть в том числе и описанная у Вас. Некоторые разработчики засовывают все справочники в одну таблицу с некоторым количеством избыточных для конкретного справочника полей. В такой табоице используется поле, допустим, SPRID interger для идентификации вида справочника. Это облегчает создание унифицированного интерфейса работы со справочниками. Понято, что такой "мешок" со справочной информацией должен сопровождаться мастер таболицей видов справочников.Fed писал(а):Хотелось бы узнать, кто как заполняет справочные таблицы (не совсем корректное название, я понимаю) в базе, когда их много. Т. е. имеется много таблиц, причем данные в них изменяются достаточно редко - один раз забили и забыли. .
Re: Заполнение справочных таблиц в программе
Не советую использовать Grid для редактирования. К сожалению, много зависит от того насколько грамотные пользователи. Я использую схему:Fed писал(а):Есть идея написать универсальное окно, в котором предлагается сначала выбрать справочную таблицу для редактирования, а затем в обычном Grid-e (Delphi) вносить изменения. Это окно не отягощено интерфейсом, т.к. пользоваться им придется редко. Укажите, правильно ли мыслю, поделитесь своим опытом.
1. сбоку слева дерево со справочными таблицами
2. сверху справа Grid для текущей таблицы в режим просмотра
3. снизу справа панель с полями для редактирования записей и кнопками
Re: Заполнение справочных таблиц в программе
Смотря как сделать этот грид. если взять тот же Ehlib, то можно навести красоту волшебную. я наоборот отказался от дополнительных полей.. дабы избежать громоздкости интерфейса.smu писал(а): Не советую использовать Grid для редактирования. К сожалению, много зависит от того насколько грамотные пользователи...
а по теме.
в БД сделано как описал SAMZ. На клиентской части: DBLookupComboboxEh для списка видов справочников, а в гриде (тоже из ehlib) - собственно сам справочник.
ЗЫ. так устроены только ооочень маленткие справочники.. которые редактируються ооочень редко
-
- Заслуженный разработчик
- Сообщения: 644
- Зарегистрирован: 15 фев 2005, 11:34
На мой взгляд разделяй и властвуй, то бишь я разложил справочники по таблицам, к каждой свой грид и панель инструментов. А то сольешь в одну супер таблицу, потом какой-нидь неосторожный чих и хрен найдешь где аукнется... А сделать пару формочек для редактирования одного справочника через банальный копи-паст из стандартой заготовки занимает считанные минуты.
Вариант smu мне особенно понравился. Спасибо.
А что такое Ehlib?
Я имел в виду не создание мега-Grid-а, а универсальную форму, внешний вид Grid-a получается в программе исходя из того, с какой таблицей работаешь (какие в ней поля, в частности) - если в таблице два поля для заполнения пользователем, то и в Grid их будет тоже два.На мой взгляд разделяй и властвуй, то бишь я разложил справочники по таблицам, к каждой свой грид и панель инструментов. А то сольешь в одну супер таблицу, потом какой-нидь неосторожный чих и хрен найдешь где аукнется...
А что такое Ehlib?
http://www.ehlib.com/RUS/default.htmFed писал(а): А что такое Ehlib?