Topic: Фильтр Комбобокс

Как отфильтровать, то есть скрыть, определенную запись в выпадающем списке? Например есть список из 5-ти пользователей, нужно скрыть пользователя с id=3 (самое главное без удаления)

Re: Фильтр Комбобокс

???

3 (edited by derek 2017-07-19 17:07:58)

Re: Фильтр Комбобокс

Здравствуйте Bullet.
Попробуй это.
Derek.

Post's attachments

Attachment icon exclude.jpg 146.7 kb, 233 downloads since 2017-07-19 

Re: Фильтр Комбобокс

derek wrote:

Здравствуйте Bullet.
Попробуй это.
Derek.

Спасибо, это работает, но немного не подходит... В общем ситуация такова, имеется список пользователей, при добавлении новой записи прописывается какой пользователь её создал. Накопилось  достаточное количество записей и один из сотрудников больше не работает, поэтому надо, что бы он больше не отображался в программе, но.... если его удалить, то он удаляется из всех своих созданных записей, если заменить другим то нарушается сам архив созданных актов, что не есть хорошо, если его скрывать, то в старых актах поле кто заполнял акт будет пустым.... Как сделать так что бы не удаляя пользователя его скрыть, что бы он больше не отображался в выпадающем списке, но при этом в старых актах, которые он создавал, его было видно? Может как то связать это с датой создания записи? В форме добавления записи есть поле Дата приёма...  может создать условие например: если дата создания записи больше 15.07.2017 тогда в комбобоксе игнорируется id конкретного пользователя... то есть, получается что во всех записях, которые были сделаны до этого числа, этот пользователь будет виден, а в тех записях которые созданы после 15-го числа, его уже не видно и невозможно будет прописать.....
Можно подобный примерчик условия?

Re: Фильтр Комбобокс

Bullet3203
Необходимо создать еще одно поле в таблице с пользователями, например "Archived" с типом ДА/НЕТ, также сделайте данное поле обязательным для заполнения и установите Значение по умолчанию = 0


при установки значения Да для данного поля будем скрывать пользователя из ComboBox при создании записи новой записи, пример:

procedure frmAbonent_OnShow (Sender: string; Action: string);
begin
    if Action = 'NewRecord' then
        frmAbonent.cbArchived.dbFilter := 'archived <> 1' else
        frmAbonent.cbArchived.dbFilter := '';

    frmAbonent.cbArchived.dbUpdate;
end;

таком образом при создании новой записи пользователь не сможет выбрать человека, который в архиве, но в тоже время при редактировании записи можно будет видеть данного архивного человека.

Dmitry.

Re: Фильтр Комбобокс

DriveSoft wrote:

Bullet3203
Необходимо создать еще одно поле в таблице с пользователями, например "Archived" с типом ДА/НЕТ, также сделайте данное поле обязательным для заполнения и установите Значение по умолчанию = 0


при установки значения Да для данного поля будем скрывать пользователя из ComboBox при создании записи новой записи, пример:

procedure frmAbonent_OnShow (Sender: string; Action: string);
begin
    if Action = 'NewRecord' then
        frmAbonent.cbArchived.dbFilter := 'archived <> 1' else
        frmAbonent.cbArchived.dbFilter := '';

    frmAbonent.cbArchived.dbUpdate;
end;

таком образом при создании новой записи пользователь не сможет выбрать человека, который в архиве, но в тоже время при редактировании записи можно будет видеть данного архивного человека.

Спасибо, буду пробовать.