Вниз
Скачать: CL | DM;

Firebird   Найти похожие ветки 

← →
MVN ©   (2008-05-12 17:13) [0]

Добрый день!
Есть 2 таблицы: AGENTPOINT_PLACE (поля "NAME" и т.д.) и AGENTPOINT_WORKS(поля "начало работы", "конец работы" и т.д.).Есть ComboBox в котором пользователь выбирает нужную точку обслуживания. Для каждой точки должен быть режим работы. Задача не давать пользователю возможность выбирать пункт, у которого нет режима работы. Помогите понять принцип действий.
я так думаю, типа..
ControlList.Clear;
if (DataSours.FIBDataSet.FieldByName("Начало работы").Value = NULL)
 then begin
       ComboBox.... (не пойму как запретить выбор поля "NAME")

       ControlList.AddError("Не введен режим работы",0,2);
       ComboBox.SetFocus;
       SystemParamsInternal.CanExecute := false;
     end else SystemParamsInternal.CanExecute := True;
 inherited;
end;

компоненты FIBDataSet и DataSource


← →
Юрий Зотов ©   (2008-05-12 17:58) [1]

Если я правильно понял вопрос, то что-то вроде этого:

select
 PLACE.NAME as NAME,
from
 AGENTPOINT_PLACE PLACE,
 AGENTPOINT_WORKS WORKS
where
 WORKS.PLACE_ID = PLACE.ID
and  
 WORKS.START is not NULL
and
WORKS.FINISH is not NULL

После чего в датасет попадают (и отображаются в комбобоксе) только "правильные записи".


← →
Sergey13 ©   (2008-05-13 08:30) [2]

> [0] MVN ©   (12.05.08 17:13)

Не вопрос, а набор недомолвок и противоречий. 8-)
1. "Есть 2 таблицы" - А как они связаны? Режимов работы может быть >1? Если нет, то какой смысл вообще во второй таблице?
2. "Для каждой точки должен быть режим работы. Задача не давать пользователю возможность выбирать пункт, у которого нет режима работы. "
Так он ДОЛЖЕН БЫТЬ, но его МОЖЕТ и НЕ БЫТЬ? То, что его нет - это не заполнены поля начала/конца или просто отсутствует связанная запись? Если второе, то из запроса [1] Юрий Зотов ©   (12.05.08 17:58) нужно выкинуть 2 последних условия.


← →
MVN ©   (2008-05-13 11:44) [3]

Мне желательно, что б записи попадали в датасет, но при выборе той, у которой не задан режим (is not Null) выдавалось сообщение, что режим не задан.


← →
Sergey13 ©   (2008-05-13 11:48) [4]

> [3] MVN ©   (13.05.08 11:44)

Если датасеты связаны мастер-детайлом, то если мне не изменяет память, на AfterOpen детайла можно проанализировать его isEmpty.


← →
MVN ©   (2008-05-15 17:00) [5]

А как проверить наличие у агента режима работы программным кодом, а не sql-запросом?


← →
Sergey13 ©   (2008-05-16 08:44) [6]

> [5] MVN ©   (15.05.08 17:00)

А в [4] описан не программный способ?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.016 c
15-1208754465
Riply
2008-04-21 09:07
2008.06.08
А надо ли кому это ?


2-1211117020
assassin8899
2008-05-18 17:23
2008.06.08
AdoQuery


2-1210682233
Сергей
2008-05-13 16:37
2008.06.08
Как передать параметр от программы VB в Делфи?


15-1209188736
Kolan
2008-04-26 09:45
2008.06.08
Как управляться с билдами проектов?


15-1209148434
Res
2008-04-25 22:33
2008.06.08
http протокол




   Наверх