![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
look up поля [D5, IB6.x]
Sour © (2002-05-18 10:07:00)Есть таблицы:
1. spravochnick
id
text
2. main
id
referencesTOsp
Вставляю IBDataSet.
Добавляю все поля и добавляю новое look up STEXT, чтобы отображалось поле text из справочника.
Все работает нормально. Но изменить это look up нельзя. Я пишу в ModifySQL
update spravochnick set
text = :new.STEXT
where id = :old.id
И нечерта не работает. Ошибка SQL 104 во второй строке.
Что надо сделать, чтобы прямо в DBGrid-е можно было менять/удалять/изменять look up поля, чтобы изменения заносились в базу.
Как узнать, что изменилось в базе, я думал, что :new.поле - верное решение?
В свойстве SQL пишу:
select * from main
kaif (2002-05-18 14:22:00) [1]Логических ограничений я не вижу на то, чтобы редактировать справочник одновременно с зависящей от него таблицей.
Однако, юзер может не разобраться в случае, если вдруг при редактировании произойдет нарушение уникальности значений справочника (он меняет Васю на Петю, а Петя уже имеется в справочнике). Он может сдуру решить, что он нарушает уникальность основной таблицы и долго пытаться от этого избавиться.
С моей точки зрения юзеру всегда удобнее редактировать справочник отдельно, нажав на некую кнопку типа ellipsis.
Johnmen (2002-05-18 12:51:00) [2]>Desdechado © (18.05.02 12:16)
Это, в целом, верно, но бывают ситуации, когда в DBGrid-е надо не только выбирать значение лукапа из списка, но и вводить с клавы значения, отсутствующие в справочнике....
(Естественно, с соответствующем помещением их в справочник)
Desdechado (2002-05-18 12:16:00) [3]вообще-то справочники редактируют отдельно от таблиц, в которых их используют. А ты пытаешься изменить поле справочника, редактируя зависящую от него таблицу. Где логика?
Johnmen (2002-05-18 10:45:00) [4]1.
>text = :new.STEXT where id = :old.id - это чушь, т.к. в ModifySQL и т.д. присутствуют :fld , а это параметры, содержащие соотв. значения полей НД.
2.
>Что надо сделать, чтобы прямо в DBGrid-е можно было
>менять/удалять/изменять look up поля, чтобы изменения
>заносились в базу
Придется поработать ручками и головой :)
Придумать механизм реализации...
Как делал я, рассказывать долго....