Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Firebird [D7, Firebird]


MVN ©   (2008-05-12 17:13:00) 

Добрый день!
Есть 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


Sergey13   (2008-05-16 08:44:00) [1]

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

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


MVN   (2008-05-15 17:00:00) [2]

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


Sergey13   (2008-05-13 11:48:00) [3]

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

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


MVN   (2008-05-13 11:44:00) [4]

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


Sergey13   (2008-05-13 08:30:00) [5]

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

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


Юрий Зотов   (2008-05-12 17:58:00) [6]

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

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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо