Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.06.08;
Скачать: 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 вся ветка

Текущий архив: 2008.06.08;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
2-1209976099
Aleksei
2008-05-05 12:28
2008.06.08
Проверка нового файла на ФТП


2-1210838406
tytus
2008-05-15 12:00
2008.06.08
как в SendMessage передать строку?


15-1208981134
@!!ex_
2008-04-24 00:05
2008.06.08
Кому не лень - помогите.


15-1208931582
ILR
2008-04-23 10:19
2008.06.08
Помогите с задачей


2-1211139264
master_root
2008-05-18 23:34
2008.06.08
Типизированный указатель в консоли