Фильтрация по значению в свободном поле

жиллец
Дата: 21.11.2006 10:06:32
Дозрел я до вопроса по теме форума ;)

Короче есть форма (ленточная) там куча документов (больше 1000) есть поле № дела (где хранятся определенные документы), нужно, что бы в некоем свободном поле вводится номер дела и по нажатию кнопки отфильтровывались те документы которые в данном деле хранятся.
Поиск юзал, хелп читал - непомогает.

(очень даже непрофессионал)
Karfaqen
Дата: 21.11.2006 10:17:08
жиллец
по нажатию кнопки отфильтровывались те документы которые в данном деле хранятся.
Можно в процедуре обработки нажатия этой кнопки написать:
Me.Recordsource = "SELECT * FROM [Документы] WHERE [№ дела]=" & Me("свободное поле")
[Документы] - источник записей формы. Ну плюс кавычки, если № дела строковое.
DiDis
Дата: 21.11.2006 10:20:25
я делал так ....
в примечании или заголовке ставите "поле1" и "кнопка1".... в запросе на вашу форму (форма -свойства - данные) под полем "№ дела" в условии ставите следующие iif(forms![вашаФорма]![поле1]>"";forms![вашаФорма]![поле1];[вашаТаблица]![№дела])... а на нажатие кнопки ставите requry.... можно сделать так.... может и каряво но работает...
Student007x
Дата: 21.11.2006 10:22:30
Без новых полей, попробуйте нажать правую кнопку мыши на поле, отображающем № дела, и в контекстном меню "Фильтр для" введите номер искомого договора.
DiDis
Дата: 21.11.2006 10:26:07
Student007x
Без новых полей, попробуйте нажать правую кнопку мыши на поле, отображающем № дела, и в контекстном меню "Фильтр для" введите номер искомого договора.

тоже тема.... приучаю всех помаленьку...
mds_world
Дата: 21.11.2006 10:29:20
DiDis
тоже тема.... приучаю всех помаленьку...

В том числе и на форуме?
жиллец
Дата: 21.11.2006 10:43:12
Student007x
Без новых полей, попробуйте нажать правую кнопку мыши на поле, отображающем № дела, и в контекстном меню "Фильтр для" введите номер искомого договора.


Вариант вполне рабочий, тока у меня на юзере контекстное меню самопальное, а как туды вывести этот пункт из стандартного меню я не нашел (акс 2000)

Карфагену - так работает, только там еще есть условия отбора и они все похериваются (недействующие документы тоже отображаются а не должны), принцип я понял, по слепить два условия отбора что то не получилось.
NG
Дата: 21.11.2006 11:01:10
Вам нужен "конструктор", задающий фильтр для вашей формы (или ее источника записей, -- то, что указывается в запросе после WHERE). Идею интерфейса универсального конструктора можете позаимствовать в Word'е -- расширенный поиск.
Можно и без заморочек -- использовать фильтр (воронка на панели инструментов), в котором задать значения в нескольких полях.
DiDis
Дата: 21.11.2006 11:06:26
NG
использовать фильтр (воронка на панели инструментов), в котором задать значения в нескольких полях.


...если я не ошибаюсь, то из такого фильтра можно выйти в конструктор форм... акс 2003
Karfaqen
Дата: 21.11.2006 11:11:17
жиллец
там еще есть условия отбора и они все похериваются (недействующие документы тоже отображаются а не должны), принцип я понял, по слепить два условия отбора что то не получилось.
Добавьте это новое условие к тому, что уже есть через AND:
Me.RecordSource = "SELECT * FROM [Документы] WHERE (тут ваши условия отбора)" & _
" AND [№ дела]= " & Me("свободное поле")