Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 28.10.2014, 02:33   #1
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 376
Репутация: 46
По умолчанию fibplus master-detail условие в detail

Здравствуйте.
Помогите с такой проблемой.
Предположим есть 2 таблицы Отделы (Departament) и Сотрудники (mans).
Между ними через компоненты fibplus+dbgrideh натроен master-detail.
т.е. при выборе конкретного отдела показываются сотрудники этого отдела, но... предположим, что в таблице сотрудников есть поле с пометкой "уволен", как тогда сделать master-detail, чтобы он показывал только уволенных сотрудников?
tarakan1983 вне форума   Ответить с цитированием
Старый 28.10.2014, 08:28   #2
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,842
Репутация: 6832
По умолчанию

Думаю что поможет событие OnFilterRecord.
Есть такое в твоих компонентах? В ДатаСетах.
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 28.10.2014, 09:37   #3
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,611
Репутация: 5352
По умолчанию

чисто теоретически (сам не пробовал, но не вижу противопоказаний) можно набор данных, где находятся сотрудники компонент Таблица заменить на Запрос (Query ), в этом запросе указать where ПолеУволен = ПризнакУвольнения
Тогда в подчинённом датасете останутся только уволенные.



p.s. а вообще, структура данных не хорошо организована. Нельзя признак уволен/не уволен делать статическим, это же календарно-зависимые данные.
Ну, у сотрудника есть дата приёма на работу и дата увольнения. если сотрудника уволили 31 октября, а потом формируют зарплату за октябрь, он там есть. А если за ноябрь - то его уже нет...
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 30.10.2014, 10:09   #4
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 376
Репутация: 46
По умолчанию

Простите за долгое молчание, проблемы инетом были.
Stilet, в FibDataset такого события нет.
Serge_Bliznykov, попробовал как Вы посоветовали, не получилось
Цитата:
структура данных не хорошо организована
Я просто пример указал, вообще у меня меня таблица
1. Чеков продаж(ID - integere(счетчик) , D - (Timestamp))
2. Товар конкретного чека(ID - Integer(счетчик), IDCHEQ - Integer(ID чека), TOVARID - integer, VIS - Integer)
Вот это поле VIS - это товар удаленный из чека. Если кассир удаляет товар из чека, то он просто скрывается, а физически остается. Сделано, чтобы выявить недобросовестных кассиров. Такая структура нормально?
tarakan1983 вне форума   Ответить с цитированием
Старый 30.10.2014, 10:19   #5
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,081
Репутация: 6385
По умолчанию

Цитата:
в FibDataset такого события нет.
Интересно, о чем это они трындят?
http://www.sql.ru/forum/959598/kak-v...spisku-zapisey
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума   Ответить с цитированием
Старый 30.10.2014, 12:29   #6
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 376
Репутация: 46
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Интересно, о чем это они трындят?
http://www.sql.ru/forum/959598/kak-v...spisku-zapisey
У меня не открывается ссылка
tarakan1983 вне форума   Ответить с цитированием
Старый 30.10.2014, 12:37   #7
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,081
Репутация: 6385
По умолчанию

Ссылка и не важна, какие-то проблемы на sql.ru. Важно что есть такое событие
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума   Ответить с цитированием
Старый 02.11.2014, 15:04   #8
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 376
Репутация: 46
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Ссылка и не важна, какие-то проблемы на sql.ru. Важно что есть такое событие
Да, событие такое есть, (просмотрел, прошу прощенья) но оно происходит при фильтрации данных самим Fibdataset, т.е. у Fibdataset есть свойство Filter и Filtred. Это событие будет срабатывать в таком варианте кода
Код:

  with pFIBDataSet1 do
    begin
      Filtered := False;
      Filter := 'ля-ля-ля';
      Filtered := True;
    end;

а меня интересует возможна ли фильтрация при master-detail в detail.
P.S. Извините за назойливость, но очень хочется разобраться в этом вопросе
tarakan1983 вне форума   Ответить с цитированием
Старый 02.11.2014, 15:10   #9
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,842
Репутация: 6832
По умолчанию

А разве фильтрация при реляции на клиенте чем-то отличается от фильтрации без реляций? Поставь это событие - попробуй. Тогда и ьудешь знать ценный мы тебе совет дали или не очень )
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 02.11.2014, 15:13   #10
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 376
Репутация: 46
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А разве фильтрация при реляции на клиенте чем-то отличается от фильтрации без реляций? Поставь это событие - попробуй. Тогда и ьудешь знать ценный мы тебе совет дали или не очень )
так я поставил
Код:

procedure TFmSale.QCHEQTFilterRecord(DataSet: TDataSet; var Accept: Boolean);
begin
 ShowMessage('');
end;

Ничего не происходит.
Может я что-то неправильно понимаю?

Последний раз редактировалось tarakan1983; 02.11.2014 в 15:15.
tarakan1983 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Combobox и Master-Detail Максим1818 БД в Delphi 4 13.02.2014 10:10
Master Detail. добавление редактирование t.baychorov БД в Delphi 1 10.12.2011 14:23
Master-detail DELPHI+FIREBIRD Liones БД в Delphi 1 30.11.2010 14:27
Сценарий Master-Detail в WPF Antonio_M Общие вопросы .NET 0 28.08.2009 10:33
Не работает master-detail для adostoredprocedure VAbramyak БД в Delphi 2 24.04.2007 16:48


21:57.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru