-
1. Нафих отказаться от гридного редактирования, неминуемо приводящему к тому, что пильщик лишится глаза (суть будет "каша" в справочнике) 2. Каждая запись должна редактироваться в модальной форме с контролами, не связанными с датасетом (компоненты без "зловредной" приставки DB, специально писанных Борландом для Фаронова и компани - чтоб жизнь медом не казалась). Все "лукапные" комбобоксы должны заполняться из отдельных "фоновых" (в смысле не отображаемых) запросов, которые выполняются либо один раз при запуске либо каждый раз при открытии формы (последнее предпочтительнее, т.к. данные каждый раз будут свежими, правда могут возникнуть некоторые "тормоза") 3. Что касается сложных (в смысле многореквизитных или не одноуровневых) справочников, то для их правки должна быть либо особая программа, устанавливаемая только тем, кто "посвящен", либо отдельная форма, отображающая ВСЕ поля записей справочника, снабженная всякими сервисами типа фильтрации, сортировки, поиска и позволяющая редактировать справочник опять-таки в модальном режиме (не в сетке). Форма справочника позволяет либо выбрать нужную запись для подстановки в форму редактирования, либо внести в справочник изменения. Если справочников в проекте много, чаще всего имеет смысл сделать "базовую" форму (где и реализовать все эти сервисы), а от нее уже штамповать целевые.
Ну и, конечно, все это можно реализовать классами, благо Делфи дает для этого великолепный инструментарий.
-
MsGuns © (02.10.08 12:38) [20]
Капец. Может ей пойти еще застрелится?
-
> [21] stas © (02.10.08 13:27) > Может ей пойти еще застрелится?
После таких постов в живых остаться должен только один. McL..., тьфу, MsGuns. 8-)
-
> Татьяна © (02.10.08 10:27) [5] > Василий Жогарев © (02.10.08 10:05) [3] > > > Каким образом можно организовать добавление записей в > справоник > > во время заполнения основной таблицы?? > > Это т.е., что ?... > > т.е. я использую компонент Table, связанное поле при заполнении > отображается в виде выпадающего списка из которого можно > выбрать значение. При этом если возникает необходимость > добавить значение в справочник, приходится открывать его > специально, добавлять туда запись, и возвращаться к заполнению > основной таблицы. А я хочу по мере необходимости, не открывая > окно справочника, добавлять туда записи. Не могу придумать > как это сделать.
Это извращение и лень человеческая... если данные будут обновляться с такой интенсивностью что будет лень открывать справочник, тогда это не справочник, а таблица с рабочими данными...
-
>stas © (02.10.08 13:27) [21] >Капец.
Нет, не капец. Это нормальный подход при разработке нормального интерфейса для работы с базами данных. Сложный ? Авжеж.. А кто сказал, что программировать также просто, как сморкаться ?
-
> Помогите пожалцйста! Есть две таблицы: > 1. Справочник: № ПОДРАЗДЕЛЕНИЯ, НАИМЕНОВАНИЕ ПОДРАЗДЕЛЕНИЯ. > 2. Основная таблица: № п/п,....., № ПОДРАЗДЕЛЕНИЯ. > В основную таблицу добавлено Lookup-поле НАИМЕНОВАНИЕ ПОДРАЗДЕЛЕНИЯ > для быстрого выбора. > Каким образом можно организовать добавление записей в справоник > во время заполнения основной таблицы??
Следует посмотреть на таблицу 1. как на основную, а не справочник: подразделения не возникаю так просто, из-за того, что в подчиненной таблице 2. кому-то хочется упомянуть что-то, что показалось ему подразделением. Поэтому см. советы по отдельному и вдумчивому редактированию таблицы 1.
З.Ы. Не бывает таблиц-справочников. Таблицы - это сущности предметной области. ИМХО.
|