Форум: "Начинающим";
Текущий архив: 2008.06.08;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.041 c