Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Фильтр фильтра
 
 автор: Гоблин   (20.11.2009 в 22:58)   личное сообщение
 
 

Привет все.
Вот блин проблемка нарисовалась. В свободной форме есть подчиненная в ней еще одна. Значения которой отсеиваются с помощью значений списка в основной форме. На список стоит код
With Forms![Основная форма]!ПодчиненкаФорма![ФильтруемаяФорма].Form
.Filter = "Поле=" & Me.Список10.Column(0)
.FilterOn = True
.Requery
End With
...Оно работает великолепно. Однако вываливает все что есть на выбранную в списке запись. А хотелось бы видеть ПОСЛЕДНЮЮ ЗАПИСЬ. типа
filter="КодID=" & dmax("КодID","ТаблицаФильтруемойФормы",Form![ФильтруемаяФорма]!...)
Условие что ли ставить как-то?
Или приплюсовать фильтр фильтра?
.Filter = "Поле=" & Me.Список10.Column(0)& filter="КодID=" & dmax("КодID","ТаблицаФильтруемойФормы")
Или как-то &myfilter сделать?
чето не соображу никак блин. Затык.

  Ответить  
 
 автор: snipe   (21.11.2009 в 04:07)   личное сообщение
 
 

Создайте запрос который бы удовлетворял вашему условию
(только не мудрите сильно - простенький запрос на выборку)
перейтите в режим SQL и посмотрите что написано после слова Where
вот такая фраза (примерно) должна попасть в filter

ну на вскидку
.Filter = "[Поле]=" & Me.Список10.Column(0)& " and [КодID]=" & dmax("КодID","ТаблицаФильтруемойФормы","[Поле]=" & Me.Список10.Column(0))

  Ответить  
 
 автор: snipe   (21.11.2009 в 04:45)   личное сообщение
 
 

а еще проще фильтровать не по полю [поле] а по полю [КодID]
в итоге получится
.Filter = "[КодID]=" & dmax("КодID","ТаблицаФильтруемойФормы","[Поле]=" & Me.Список10.Column(0))
и в форме отобразится единственная запись

  Ответить  
 
 автор: Гоблин   (21.11.2009 в 13:35)   личное сообщение
 
 

Снип, блин. Гениально. И чо до меня не дошло сразу. Химичил 2 фильтра разными способами, условия че только ни пробовал. Блин лаборатория гоблина. Именно этот код стал работать с полоборота.
С-псибо.
(.Filter = "[КодID]=" & dmax("КодID","ТаблицаФильтруемойФормы","[Поле]=" & Me.Список10.Column(0)))!!

  Ответить  
 
 автор: snipe   (22.11.2009 в 18:39)   личное сообщение
 
 

Гоблин- осторожнее
при изменении записи ID не меняется
все-таки через and иногда может быть удобнее

  Ответить  
 
 автор: Гоблин   (22.11.2009 в 19:32)   личное сообщение
 
 

Спасибо. Это понятно. Но через ID завязка таблиц. Там либо есть запись, либо нет. А какая - в моем случае не интересно. Но буду иметь в виду.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList