Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Access > Выпадающий список для фильтации данных в отчете


Автор: RozAlex 21.12.2004, 11:16
Общий привет!
Как вывести сабж?
Т.е. я хочу, чтоб перед формированием отчета предлагался выбор из значения поля одной из таблиц.
В Конструкторе помещаю ПолеСоСписком или Список, но при запуске отчета выпадающего списка нет.
Можно только ввести значение поля, по которому потом и срабатывает фильтр!
Уже устал бороться... smile
К Access'у не подходил уже лет 10, так что не пинайте сильно...

Автор: Akina 22.12.2004, 20:35
1) Лучше сделать отдельную форму для ввода значения, а потом уже открыват отчет. См. встроенную справку - там где в примере есть функция IsLoaded.
2) Зарегистрируйся - много полезных фенечек поимеешь. Это небольно и бесплатно smile

Автор: RozAlex 27.12.2004, 09:43
1) Спасибо. С этим все получилось.
А как теперь передать значение из этого списка в форме в отчет для фильтра?

Автор: Akina 27.12.2004, 10:15
1) см. выше, п. 2.
2) см. выше, п. 1.

Автор: RozAlex 27.12.2004, 11:45
Ну, и? ;)
Чуда не произошло! smile))

Автор: RozAlex 27.12.2004, 12:11
И еще уж до кучи: как в списке вывести только уникальные записи из столбца таблицы?

Автор: Akina 27.12.2004, 13:08
Цитата(RozAlex @ 27.12.2004, 12:45)
Чуда не произошло!

Предполагалось, что справка будет прочитана от начала до конца. В т.ч. будет понято, к чему она относится. А там как раз запрос параметра и создание отчета с использованием полученного значения в фильтре.

Цитата(RozAlex @ 27.12.2004, 13:11)
как в списке вывести только уникальные записи из столбца таблицы?

Использовать в качестве источника данных не таблицу, а группирующий запрос на ее основе.

Автор: RozAlex 27.12.2004, 13:13
Ага. Справка была прочитана крайне невнимательно... smile Согласен.
Но под чудом я имел ввиду последствия регистрации. smile))
Про запрос понял, спасибо!

Автор: Akina 27.12.2004, 13:40
Цитата(RozAlex @ 27.12.2004, 14:13)
Но под чудом я имел ввиду последствия регистрации.

По-моему удобно получать уведомления об ответе на мыло. Много удобнее чем лазить и проверять.

Автор: RozAlex 27.12.2004, 14:23
А-ааа. В этом смысле?
Но мне еще ни одного не пришло, а я все равно в инете торчу целыми днями... Можно и "Reload" понажимать. smile

Автор: romzes 28.12.2004, 16:42
Всем привет!

Сейчас вышел на форум с такой же проблемой, как у RozAlex'а. А Вы её уже обсудили.
Где можно взять функцию IsLoaded, кроме бд "Борей"?

Заранее благодарен!

Автор: Akina 29.12.2004, 13:51
Цитата(romzes @ 28.12.2004, 17:42)
Где можно взять функцию IsLoaded, кроме бд "Борей"?

Вообще-то она настолько проста, что можно и самому ее написАть.

Автор: romzes 29.12.2004, 14:03
Ну да, кто-то же её написал для БД "Борей".

Автор: Akina 29.12.2004, 14:43
romzes
Я чего-то не понимаю? тебе просто текст нужен? ну на:
Код

Function IsLoaded(ByVal strFormName As String) As Boolean
   Dim oAccessObject As AccessObject
   Set oAccessObject = CurrentProject.AllForms(strFormName)
   If oAccessObject.IsLoaded Then
       If oAccessObject.CurrentView <> acCurViewDesign Then
           IsLoaded = True
       End If
   End If
End Function

Однако ее надо дорабатывать. Что, к примеру, она сделает, если передать ей несуществующее в коллекции форм имя?
Правильно, run-time error 2467.

Автор: romzes 29.12.2004, 16:03
В очередной раз спасибо, Akina. Буду разбираться.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)