Главная страница
    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.057 c
11-1181491706
Robt
2007-06-10 20:08
2008.06.08
ListBox


3-1199661770
porter
2008-01-07 02:22
2008.06.08
получить несколько столбцов для одного поля


15-1209317345
No_Dead
2008-04-27 21:29
2008.06.08
Что пишут в логах?


2-1209999304
TStas
2008-05-05 18:55
2008.06.08
Что такое class of ?


2-1210850341
assassin8899
2008-05-15 15:19
2008.06.08
Связанные таблицы





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский