Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.047 c
2-1210770613
OLGA
2008-05-14 17:10
2008.06.08
Как отсоеденить сотую часть!!!!!!!!


15-1209321298
worldmen
2008-04-27 22:34
2008.06.08
Компиляция файла помощи через HCW.EXE


15-1208933925
REA
2008-04-23 10:58
2008.06.08
Договор с работодателем


2-1211030172
focor
2008-05-17 17:16
2008.06.08
ASCII коды символов


15-1209283131
Knight
2008-04-27 11:58
2008.06.08
Флешка взбунтовалась&#133





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский