Страница 1 из 1
Заполнение справочных таблиц в программе
Добавлено: 25 ноя 2005, 13:16
Fed
Хотелось бы узнать, кто как заполняет справочные таблицы (не совсем корректное название, я понимаю) в базе, когда их много. Т. е. имеется много таблиц, причем данные в них изменяются достаточно редко - один раз забили и забыли. Писать отдельное приложение/окно/форму для работы с каждой - геморой. Тем не менее пользователь должен иметь к этим таблицам доступ. Есть идея написать универсальное окно, в котором предлагается сначала выбрать справочную таблицу для редактирования, а затем в обычном Grid-e (Delphi) вносить изменения. Это окно не отягощено интерфейсом, т.к. пользоваться им придется редко. Укажите, правильно ли мыслю, поделитесь своим опытом.
Re: Заполнение справочных таблиц в программе
Добавлено: 25 ноя 2005, 15:25
SAMZ
Fed писал(а):Хотелось бы узнать, кто как заполняет справочные таблицы (не совсем корректное название, я понимаю) в базе, когда их много. Т. е. имеется много таблиц, причем данные в них изменяются достаточно редко - один раз забили и забыли. .
Это кому, что нравится. Реализации самые разные. Есть в том числе и описанная у Вас. Некоторые разработчики засовывают все справочники в одну таблицу с некоторым количеством избыточных для конкретного справочника полей. В такой табоице используется поле, допустим, SPRID interger для идентификации вида справочника. Это облегчает создание унифицированного интерфейса работы со справочниками. Понято, что такой "мешок" со справочной информацией должен сопровождаться мастер таболицей видов справочников.
Re: Заполнение справочных таблиц в программе
Добавлено: 28 ноя 2005, 00:40
smu
Fed писал(а):Есть идея написать универсальное окно, в котором предлагается сначала выбрать справочную таблицу для редактирования, а затем в обычном Grid-e (Delphi) вносить изменения. Это окно не отягощено интерфейсом, т.к. пользоваться им придется редко. Укажите, правильно ли мыслю, поделитесь своим опытом.
Не советую использовать Grid для редактирования. К сожалению, много зависит от того насколько грамотные пользователи. Я использую схему:
1. сбоку слева дерево со справочными таблицами
2. сверху справа Grid для текущей таблицы в режим просмотра
3. снизу справа панель с полями для редактирования записей и кнопками
Re: Заполнение справочных таблиц в программе
Добавлено: 28 ноя 2005, 08:01
Klyk
smu писал(а):
Не советую использовать Grid для редактирования. К сожалению, много зависит от того насколько грамотные пользователи...
Смотря как сделать этот грид. если взять тот же Ehlib, то можно навести красоту волшебную. я наоборот отказался от дополнительных полей.. дабы избежать громоздкости интерфейса.
а по теме.
в БД сделано как описал SAMZ. На клиентской части: DBLookupComboboxEh для списка видов справочников, а в гриде (тоже из ehlib) - собственно сам справочник.
ЗЫ. так устроены только ооочень маленткие справочники.. которые редактируються ооочень редко
Добавлено: 28 ноя 2005, 08:22
Ivan_Pisarevsky
На мой взгляд разделяй и властвуй, то бишь я разложил справочники по таблицам, к каждой свой грид и панель инструментов. А то сольешь в одну супер таблицу, потом какой-нидь неосторожный чих и хрен найдешь где аукнется... А сделать пару формочек для редактирования одного справочника через банальный копи-паст из стандартой заготовки занимает считанные минуты.
Добавлено: 28 ноя 2005, 11:41
Fed
Вариант smu мне особенно понравился. Спасибо.
На мой взгляд разделяй и властвуй, то бишь я разложил справочники по таблицам, к каждой свой грид и панель инструментов. А то сольешь в одну супер таблицу, потом какой-нидь неосторожный чих и хрен найдешь где аукнется...
Я имел в виду не создание мега-Grid-а, а универсальную форму, внешний вид Grid-a получается в программе исходя из того, с какой таблицей работаешь (какие в ней поля, в частности) - если в таблице два поля для заполнения пользователем, то и в Grid их будет тоже два.
А что такое Ehlib?
Добавлено: 28 ноя 2005, 23:12
Klyk