Поиск по двум, трем полям.Прошу помощи

П-Л
Дата: 04.12.2009 11:08:20
Вместо комбобокса можно сделать текстбокс и невидимый листбох под ним.
При начале набора фамилии в текстбоксе показать листбокс с отфильтрованныим по содержимому текстбокса записями. При вводе первого пробела фильтровать по фамилии + имя, при вводе второго - по фамилии + имя + отчество. При каждом изменении тестбокса перефильтровывать заново.

Но мне такой интерфейс не нравится. Я бы сделал по-другому.

Вверху формы поля поиска, кнопки искать дальше по образцу и фильтровать по образцу, список с опциями сортировки по номеру, фио, ... Наверняка есть какие-то бизнес-условия для типовых случаев отбора по каким-то признакам. Так же наверху кнопка добавить физлицо (через модальный диалог).

Ниже - вложенную таблицу физлиц, с текущим набором данных по верхним управляющим контролам.

Ниже - бланк-карточку всегда показывающую текущее физлицо из предыдущей таблицы.
П-Л
Дата: 04.12.2009 11:21:26
Да, поиск в таблице физлиц по мере ввода в строке образца, разумеется, мгновенный.
Kent23rus
Дата: 08.12.2009 16:54:51
Все это конечно инетерестно, а как это проще всего осуществить.
Kent23rus
Дата: 08.12.2009 16:55:11
Есть похожий пример
Kent23rus
Дата: 08.12.2009 17:03:13
подскажите очень надо
П-Л
Дата: 08.12.2009 17:18:38
Kent23rus
подскажите очень надо
Программно.

К сожалению, код из моего проекта вам не поможет, так как такие типовые решения у меня делаются в специальном конфигураторе настройкой (через метаданные).

Общая идея проста и описана выше.

Цепяетесь к событиям обновления всех "управляющих" контролов-фильтров в верхней части формы, динамически собираете SQL строку для вложенной таблицы и присваиваете в ее RecordSource. Расположенная ниже карточка, разворачивающая в бланк строку таблицы, должна быть связана с ней через LinkMasterChild.

При изменении в образце поиска формируете LIKE и ищите им в рекордсете вложенной таблицы.

Все будет чудно фильтроваться, искаться и редактироваться.
Kent23rus
Дата: 08.12.2009 17:29:47
это все хорошо но для новечка примера не помешает