1 (edited by dazzleqq 2023-06-13 19:58:10)

Topic: Исключение из ComboBox

Добрый вечер.
У меня такая проблема, есть ComboBox, где указано "Подразделение", ComboBox2 - "Отдел", ComboBox3 - "Сотрудник". Все комбобоксы связаны PerentComboBox. Также есть ComboBox4 - "Статус". Статус может быть "Действующий" и "Выбывший" для сотрудника. Как мне из ComboBox3 - где указаны сотрудники исключить появление всех записей, которые равны статусу "Выбывший", т.е. чтобы отображались только действующие сотрудники?.
Прилагаю проект.

P.S. Скриншот в сообщении ниже

Post's attachments

Attachment icon Project.rar 356.16 kb, 105 downloads since 2023-06-13 

2 (edited by dazzleqq 2023-06-13 19:56:48)

Re: Исключение из ComboBox

Пробовал так:

procedure UD_REDACT_OnShow (Sender: TObject; Action: string);
begin
   UD_REDACT.ComboBox7.dbFilter := SQLExecute('select UD_CASE.id_LS_BIO, UD_CASE.id_LS_STATUS FROM UD_CASE LEFT OUTER JOIN LS_BIO ON UD_CASE.id_LS_BIO=LS_BIO.id LEFT OUTER JOIN LS_STATUS ON UD_CASE.id_LS_STATUS=LS_STATUS.id WHERE LS_STATUS.id = 1');
   UD_REDACT.ComboBox7.dbUpdate;
end;

Однако данные просто сортируются, но не исключаются.

Post's attachments

Attachment icon Без имени.png 68.22 kb, 41 downloads since 2023-06-13 

3 (edited by k245 2023-06-15 06:25:40)

Re: Исключение из ComboBox

Решение:
http://myvisualdatabase.com/forum/misc.php?action=pun_attachment&item=9581&download=0

Post's attachments

Attachment icon Решение.png 39.09 kb, 42 downloads since 2023-06-15 

Визуальное программирование: блог и телеграм-канал.

4 (edited by k245 2023-06-15 06:27:30)

Re: Исключение из ComboBox

Результат:
http://myvisualdatabase.com/forum/misc.php?action=pun_attachment&item=9582&download=0

Post's attachments

Attachment icon Результат.png 14.26 kb, 36 downloads since 2023-06-15 

Визуальное программирование: блог и телеграм-канал.

Re: Исключение из ComboBox

Огромное спасибо, супер!

Re: Исключение из ComboBox

Ещё раз добрый день, возникла такая необходимость, чтобы при редактировании записи фильтр был бы пустым, т.е. отключен, а при создании новой записи,  фильтр был бы включен. Как реализовать?

Re: Исключение из ComboBox

dazzleqq wrote:

Ещё раз добрый день, возникла такая необходимость, чтобы при редактировании записи фильтр был бы пустым, т.е. отключен, а при создании новой записи,  фильтр был бы включен. Как реализовать?

Добавить обработчики на отображение и закрытие формы редактирования

procedure UD_REDACT_OnClose (Sender: TObject; Action: string);
begin
  UD_REDACT.ComboBox7.dbFilter := ''; // по умолчанию фильтр снят
  UD_REDACT.ComboBox7.dbUpdate;
end;

procedure UD_REDACT_OnShow (Sender: TObject; Action: string);
begin
  if Action='NewRecord' then // если добавление новой записи, то
  begin // добавить фильтр
    UD_REDACT.ComboBox7.dbFilter := 'id_LS_STATUS = 1';
    UD_REDACT.ComboBox7.dbUpdate;
  end;
end;
Визуальное программирование: блог и телеграм-канал.

Re: Исключение из ComboBox

k245 wrote:
dazzleqq wrote:

Ещё раз добрый день, возникла такая необходимость, чтобы при редактировании записи фильтр был бы пустым, т.е. отключен, а при создании новой записи,  фильтр был бы включен. Как реализовать?

Добавить обработчики на отображение и закрытие формы редактирования

procedure UD_REDACT_OnClose (Sender: TObject; Action: string);
begin
  UD_REDACT.ComboBox7.dbFilter := ''; // по умолчанию фильтр снят
  UD_REDACT.ComboBox7.dbUpdate;
end;

procedure UD_REDACT_OnShow (Sender: TObject; Action: string);
begin
  if Action='NewRecord' then // если добавление новой записи, то
  begin // добавить фильтр
    UD_REDACT.ComboBox7.dbFilter := 'id_LS_STATUS = 1';
    UD_REDACT.ComboBox7.dbUpdate;
  end;
end;

Спасибо!