|
|
|
Установка фильтра во вложенном отчете
|
|||
|---|---|---|---|
|
#18+
Использую MS ACCESS. При попытке установить значение фильтра во вложенном отчете таким образом: Код: plaintext Или, например, так: Код: plaintext , вылетает сообщение об ошибке: Код: plaintext 1. А в отчете, который не является вложенным, установка значения фильтра, приведенным выше образом, не вызывает сообщения об ошибке. В чем тут дело? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2003, 05:52 |
|
||
|
Установка фильтра во вложенном отчете
|
|||
|---|---|---|---|
|
#18+
А почему "Form", если в отчете? Вообще, спросонья могу порекомендовать передовать твой параметр через функцию в условии в источнике данных подотчета: "select * frmo balabala where balabala.Код=GetTargetCode();" или даже так "select * frmo balabala where (balabala.Код=GetTargetCode()) or (GetTargetCode()=-1);" (вместо -1 можно написать любое значение которого заведомо не бывает). С добрым утром. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2003, 08:36 |
|
||
|
Установка фильтра во вложенном отчете
|
|||
|---|---|---|---|
|
#18+
Вы все правильно советуете, но в моем случае строка фильтра может состоять из выражений с несколькими операторами AND. Я привел простой пример: Me.Filter = "Код=14" А может быть и так, на количество кавычек не обращайте внимания: Me.Filter = "Отправитель=Москва" AND "Контейнер=123456789" Неужели вложенные отчеты не допускают установку фильтра? Знатоки, посоветуйте что-нибудь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2003, 11:18 |
|
||
|
Установка фильтра во вложенном отчете
|
|||
|---|---|---|---|
|
#18+
РОдный! Кажется, адресоваться нада чуть по-другому: для формы оно было бы вроде такого: forms!ГлавнаяФорма!ПодчиненнаяФорма!form!Filter (могут быть где-то точки вместо "!"). Теоретически то же самое д.б. и для отчета, тока form заменить на report ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2003, 11:26 |
|
||
|
Установка фильтра во вложенном отчете
|
|||
|---|---|---|---|
|
#18+
Я пробовал устанавливать значение фильтра для вложенного отчета таким образом: Код: plaintext В итоге то-же самое сообщение об ошибке. Проверю еще раз, может я ошибаюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2003, 13:48 |
|
||
|
Установка фильтра во вложенном отчете
|
|||
|---|---|---|---|
|
#18+
Да почему же Reports!ГлавнаяФорма!ПодчиненнаяФорма!form!Filter когда надо Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2003, 13:52 |
|
||
|
Установка фильтра во вложенном отчете
|
|||
|---|---|---|---|
|
#18+
Теоретически то же самое д.б. и для отчета, тока form заменить на report (Alexus12) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2003, 13:52 |
|
||
|
Установка фильтра во вложенном отчете
|
|||
|---|---|---|---|
|
#18+
Теперь я сделал в событии Open вложенного отчета так: Reports!ГлавнаяФорма!ПодчиненнаяФорма.report.Filter = "Код=14" И в итоге, то же сообщение об ошибке. Что-то я не понимаю или что-то не так делаю. Попробую еще повозиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2003, 14:18 |
|
||
|
Установка фильтра во вложенном отчете
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2003, 15:32 |
|
||
|
Установка фильтра во вложенном отчете
|
|||
|---|---|---|---|
|
#18+
Тита т ы слушают и рекомендуют Почему у тебя отчеты называются "ГлавнаяФорма" и "ПодчиненнаяФорма"? Ты ничего не перепутал? Что выводит такой код Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2003, 15:41 |
|
||
|
Установка фильтра во вложенном отчете
|
|||
|---|---|---|---|
|
#18+
Уважаемые Титаны! Сейчас я приеду домой с работы, и напишу Вам ответ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2003, 15:55 |
|
||
|
Установка фильтра во вложенном отчете
|
|||
|---|---|---|---|
|
#18+
В соответствии с вашим кодом я сделал так: Код: plaintext 1. 2. 3. 4. А вот его вывод: Код: plaintext 1. 2. 3. Строка Код: plaintext ничего не вывела. Ну я думаю - это правильно. Жду ответа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2003, 17:19 |
|
||
|
Установка фильтра во вложенном отчете
|
|||
|---|---|---|---|
|
#18+
А это полный текст процедуры для вложенного отчета. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Что делаем дальше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2003, 17:21 |
|
||
|
Установка фильтра во вложенном отчете
|
|||
|---|---|---|---|
|
#18+
Что-то титаны молчат? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2003, 17:51 |
|
||
|
Установка фильтра во вложенном отчете
|
|||
|---|---|---|---|
|
#18+
Титаны не молчат. Титаны думают. Думают над тем, как бы эту фигню логично объяснить. Ибо у меня такая же фигня. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2003, 17:54 |
|
||
|
Установка фильтра во вложенном отчете
|
|||
|---|---|---|---|
|
#18+
> Ибо у меня такая же фигня. Лох, стихи пишешь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2003, 17:55 |
|
||
|
Установка фильтра во вложенном отчете
|
|||
|---|---|---|---|
|
#18+
Текст процедуры во вложенном отчете. если так, идет сообщение об ошибке, но если сделать точку останова, и проигнорировать ошибку, то фильтр накладывается Код: plaintext 1. 2. 3. 4. а если так Код: plaintext 1. 2. 3. 4. 5. работает нормально :-/ Что/как/почему пока не знаю, можно попробовать поискать у мелких на сайте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2003, 18:30 |
|
||
|
Установка фильтра во вложенном отчете
|
|||
|---|---|---|---|
|
#18+
Спасибо за рабочий вариант с использованием Код: plaintext Нужно будет потестировать это решение. Я обошел эту проблему так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. Но при этом слегка увеличивается mdb файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2003, 18:46 |
|
||
|
Установка фильтра во вложенном отчете
|
|||
|---|---|---|---|
|
#18+
В рипортах еще с 2000 в ADP куча глюков. Поэтому я работаю как правило по одной схеме, на OPEN делаю Me.Recordsource=Me.OpenArgs. А в OpenArgs передаю полный запрос (с условием WHERE). Все работает нормально, думаю в MDB тоже должно работать отлично. Вопрос, зачем в скрытом режиме менять фильтр и сохранять отчет? Что-то мне кажется лишнее это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2003, 01:05 |
|
||
|
Установка фильтра во вложенном отчете
|
|||
|---|---|---|---|
|
#18+
Так потому и приходится менять в скрытом режиме фильтр (для вложенного отчета) и сохранять отчет если бы можно было менять его нормальным образом. Знатоки, так все-таки существует эта проблема с установкой значения фильтра во вложенном отчете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2003, 01:39 |
|
||
|
Установка фильтра во вложенном отчете
|
|||
|---|---|---|---|
|
#18+
А почему же нельзя обойтись без фильтра, задав просто recordsource="Select * from Table where Тото=тото and Тото=тото" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2003, 08:23 |
|
||
|
Установка фильтра во вложенном отчете
|
|||
|---|---|---|---|
|
#18+
Знатоки, так все-таки существует эта проблема с установкой значения фильтра во вложенном отчете? Видимо существует. Кажись таким способом мало кто програмит, потому и неизвестна эта проблема широко, но она есть Трабл какой-то аксесовский. Даже в отладчике, когда в ошибку валится и высвечивает строку с установкой фильтра, видно, что фильтр уже установлен . Т.е. он сначала установился, потом аксес обосрался. С помощью On Error Resume Next получается, что и фильтр установится, и аксес не обострется (вернее, сделает это бесшумно). Вот такие пироги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2003, 09:09 |
|
||
|
Установка фильтра во вложенном отчете
|
|||
|---|---|---|---|
|
#18+
Спасибо Всем, особенно последнему автору, за то, что выяснили в чем дело. Действительно, может быть надо программировать по другому. В данном случае так применять фильтр (фильтрация по выделенному) удобно для клиента, а вот у меня это вызвало вопросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2003, 09:45 |
|
||
|
Установка фильтра во вложенном отчете
|
|||
|---|---|---|---|
|
#18+
2V. Motchulsky >А почему же нельзя обойтись без фильтра, задав просто recordsource="Select * from Table where Тото=тото and Тото=тото" Наверное, человеку так интересней. Помучаться пару дней, напихать нестабильного кода, и заснуть счастливым :) Правильно Лох сказл - этим фильтром на отчет никто не пользуется, потому что есть более приятные пути (и производительней) решения этой задачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2003, 09:49 |
|
||
|
Установка фильтра во вложенном отчете
|
|||
|---|---|---|---|
|
#18+
Хорошо. Причем тут нестабильный код? Объясняю: есть таблица на экране с числом колонок около 15. Пользователь, последовательно, фильтрует эту таблицу (или другие таблицы) по любому столбцу, задавая при этом, достаточно сложное условие фильтра. В итоге получается строка фильтра, которую я считаю не грех применить при построении отчета, основанного на том же запросе, что и отфильтрованная таблица. Зачем я буду создавать кучу выпадающих списков или что-еще. Ведь данные вот они, рядом. Только фильтруй правой кнопкой мыши да распечатывай. Где здесь плохой стиль программирования? Может быть Вы правы в том, что нужно объединять условие для запроса, на котором строится отчет, с фильтром, получаемым при фильтрации данных в форме. В итоге должно получится длинное предложение WHERE. Попробую, может быть это будет кравивое решение. А мучаться никто не собирается. И потом, кто из нас не мучался, пытаясь понять что-то? Ничего не вижу страшного в такого-рода мучениях. Зато приобретается бесценный опыт. Легко говорить, что есть более приятные, производительные пути решения этой задачи. Если бы мы все все знали, то не было бы и этих конференций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2003, 10:06 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32189323&tid=1680948]: |
0ms |
get settings: |
5ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
63ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 369ms |

| 0 / 0 |
