|
|
|
RecordSource у формы формируется динамически. Как применить фильтр?
|
|||
|---|---|---|---|
|
#18+
Как Саныч и просил, придумал, как мне кажется, красивое название топику. Ну а поговорим мы в нем о водке и бабах. Шучу. Код: plaintext 1. Собственно сабжевая проблема. Не дает мне, засранец, применить фильтр к такой форме. Соурс подставляется в зависимости от условий разные строки SQL. При открытии формы (по двойному клику) все нормально. Открываю ее в режиме конструктора, а потом опять в режиме форму - все, трандец, соурса как не бывало. Я так понимаю, что и фильтр поэтому не применить, а надо. Как это сделать? Как сделать, чтобы соурс запоминался, что ли у формы?? P.S. Пока что меняю соурс формы, изменяя WHERE, но мне так не удобно, нужен фильтр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 09:46 |
|
||
|
RecordSource у формы формируется динамически. Как применить фильтр?
|
|||
|---|---|---|---|
|
#18+
Интересная задача, а что создание MDE/ADE не планируется? Иначе как тогда пользователь сможет Открываю ее в режиме конструктора ? А вообще из Гетца (почти дословно): "любые изменения внесенные в форму, открытую в режиме формы, программным способом не сохраняются. Чтобы сохранить изменения их нужно вносить когда форма открыта в режиме конструктора." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 10:01 |
|
||
|
RecordSource у формы формируется динамически. Как применить фильтр?
|
|||
|---|---|---|---|
|
#18+
То incold : М-да, фиговенько. :( Я открывал форму в скрытом режиме, а потом туда соурсе запихиваю. (пробовал наоборот, говорит что форма не существует). Екарный бабай, че же делать?? Может есть у кого идеи? По поводу mde или ade - нет, этого не планируется. Эту базу я пишу, что называется "для себя", чтобы мне упростить мою работу. Для создания adp-проекта, будем нанимать програмиста (или в 1С будем писать, еще не решено), который у будет делать все как надо. Но это будет через месяц, а мне сейчас надо работать. Поэтому и стараюсь ускорить этот процесс лично для себя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 10:09 |
|
||
|
RecordSource у формы формируется динамически. Как применить фильтр?
|
|||
|---|---|---|---|
|
#18+
Я открывал форму в скрытом режиме, а потом туда соурсе запихиваю. (пробовал наоборот, говорит что форма не существует Ну так написал же: Чтобы сохранить изменения их нужно вносить когда форма открыта в режиме конструктора Открываешь в конструкторе невидимую, пишешь туды соурс, сохраняешь, открываешь в нормальном виде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 10:13 |
|
||
|
RecordSource у формы формируется динамически. Как применить фильтр?
|
|||
|---|---|---|---|
|
#18+
впихни все условия в запрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 10:14 |
|
||
|
RecordSource у формы формируется динамически. Как применить фильтр?
|
|||
|---|---|---|---|
|
#18+
Источник данных для формы тоже формируется динамически. Форма в ade открывается в Hidden, потом по кнопке есть возможность фильтра - всё работает нормально. Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 10:22 |
|
||
|
RecordSource у формы формируется динамически. Как применить фильтр?
|
|||
|---|---|---|---|
|
#18+
То incold : Можно попробовать. Ща сделаИм. То Хам Трамвайный : Это меня не совсем устраивает, я уже сказал. Мне нужен именно фильтр То Hummer : Ну если бы у меня все заработало с первого раза, то я бы не стал сюда постить, верно? ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 10:30 |
|
||
|
RecordSource у формы формируется динамически. Как применить фильтр?
|
|||
|---|---|---|---|
|
#18+
Зачем форму в режиме конструктора открывать-то? Тебе нужно значения сохранять? Не нужно. потому что при след. запуске другая строка может быть и фильтр другой. Вот открытие формы. Код: plaintext 1. 2. 3. 4. 5. 6. 7. Потом на основной форме - поле для ввода фильтра и кнопка с приведённым выше кодом. Вместо ServerFilter использовать обычный в мдб. Должно всё работать. Или нужно не совсем это? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 10:36 |
|
||
|
RecordSource у формы формируется динамически. Как применить фильтр?
|
|||
|---|---|---|---|
|
#18+
То incold : Не-а, не фига не получается. :((( Пишет, что "Объект <далее моя strSQL> не найден ядром базы данных MS JET. Проверьте правильность ......" Чувствует мое сердечко, что это реальный облом. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 10:38 |
|
||
|
RecordSource у формы формируется динамически. Как применить фильтр?
|
|||
|---|---|---|---|
|
#18+
2 TRoUbLEs Сдается мне, что ты пытаешься сделать что-то такое, что плохо представляешь сам и используешь непонятные методы. Напиши что нужно получить, а не то что не получается сделать. Скорее всего делать нужно другим методом/способом. Например как предложил Хаммер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 10:41 |
|
||
|
RecordSource у формы формируется динамически. Как применить фильтр?
|
|||
|---|---|---|---|
|
#18+
То Hummer : нужно следующее. Сначала, форма открывается для всех записей (вернее там есть уже условие отбора по Контрагенту в strSQL), а вот дальне надо работать. При двойном клике на дате, применяем фильтр по текущей дате. При двойном клике по номеру машины применяем вдобавок фильтр по номеру машины. Еще раз кликаем по номеру машины, отменяем фильтр по номеру машины, оставляем только по дате, выбираем новую машину, кликаем.... и т.д. Можно, конечно, менять strSQL, но меня эти пряники не радуют. :( С фильтром достаточно нажать кнопку "Отменить фильтр" и я снова вижу все записи, а для strSQL, придется где-то его сохранять. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 10:44 |
|
||
|
RecordSource у формы формируется динамически. Как применить фильтр?
|
|||
|---|---|---|---|
|
#18+
Так что мешает обрабатывать двойной клик по контролу и применять фильтр? Код я уже написал. Единственно, нужно заносить в переменную, что фильтр по номеру уже есть или ещё нет, и в зависимости от этого применять фильтр по текущему номеру или отменять его. Так же и для дат. И для всех остальных полей. Т.е. строка фильтра - это как условие Where со всеми вытекающими. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 10:52 |
|
||
|
RecordSource у формы формируется динамически. Как применить фильтр?
|
|||
|---|---|---|---|
|
#18+
То Hummer : Списибо, дружище, но это я и сам допетрил делать. Интересен был случай именно с фильтром, т.к. можно по одному клику его отменить. А так пидется еще код писать, чтобы открывать изначальный strSQL без всех условий WHERE и скорее всего, вешать его на кнопку, т.к. форма открывается в табличном виде и повесить кнопку в примечание не получится, а делать ее подчиненной меня тоже не устраивает. :( Еще раз спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 10:58 |
|
||
|
RecordSource у формы формируется динамически. Как применить фильтр?
|
|||
|---|---|---|---|
|
#18+
Ну ты фильтр и будешь задавать - я написал про Where, потому что его нужно будет дополнять полями, по которым хочешь фильтровать (есть фильтр по дате, хотим добавить номер - присваиваем Me.Filter & [фильтр для номера]). И всё. Если вышлешь пример - сделаю. Tosty@mail.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 11:07 |
|
||
|
RecordSource у формы формируется динамически. Как применить фильтр?
|
|||
|---|---|---|---|
|
#18+
У меня по кнопке Filtracia в главной форме вызывается процедура, которая фильтрует подчиненную табличную форму Child6 по тому полю, в котором стоит курсор. Обратно возвращает при повторном нажатии. Может пригодится: Код: 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. 28. 29. 30. 31. 32. 33. 34. 35. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 11:10 |
|
||
|
RecordSource у формы формируется динамически. Как применить фильтр?
|
|||
|---|---|---|---|
|
#18+
То Hummer : Спасибо, но пример, к сожалению, выслать не смогу, т.к. коммерческая тайна (не сама база, конечно, а данные). Хотя... может если только из дома, когда ее немного почищу. В любом случае, сасибо за предложение. То Лифчик : Спасибо. С этим буду разбираться дома на выходных. То All : На данный момент всем спасибо, уже нет времени на разборы полетов, надо поработать. На выходных напишу что и как. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 11:38 |
|
||
|
RecordSource у формы формируется динамически. Как применить фильтр?
|
|||
|---|---|---|---|
|
#18+
"Я ох..еваю!" - сказала пиписка, надуваясь" (с) вместо пролога Это ж пиз..дец какой-то!!! Я вчера до полтретьего ночи е...ался с этим фильтром и сегодня с утра. А сейчас, появилось пару свободных минут и все сделал за полчаса!!!! Причем РекордСоурс как был динаимическим так и остался. но Me.Filter=string и Me.FilterOn заработали без проблем!!!!!! Это пиз..дец!!!! Правда мне только что Аксес с 2000 проапгрейдили до 2002 (ХР), но дома-то у меня стоит именно ХР, так что я думаю, что тут это не причем. Нет, ну это точно какой-то пиз..дец! P.S. Простите за мат, но других словей у меня нету. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 15:19 |
|
||
|
RecordSource у формы формируется динамически. Как применить фильтр?
|
|||
|---|---|---|---|
|
#18+
Ан нет, погорячился я!!! Как ни работало, так не фига и не работает. :(( Просто случайно у формы сохранил РекордСоурс и если я применял фильтр, то он применялся к сохраненному соуру, а не к тому, что я только что открыл. :(( Тогда такой вопрос: Как сохранить отрытую форму в режиме конструктора, а потом ее привести в табличное состояние? Если не затруднит, то черканить пару строк кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 16:32 |
|
||
|
RecordSource у формы формируется динамически. Как применить фильтр?
|
|||
|---|---|---|---|
|
#18+
Docmd.close acform, "имя", acSaveYes Docmd.OpenForm Всё, что написано выше - ДОЛЖНО РАБОТАТЬ! Проверяйте ещё раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 16:38 |
|
||
|
RecordSource у формы формируется динамически. Как применить фильтр?
|
|||
|---|---|---|---|
|
#18+
Мне только кажется, что не надо злоупотреблять открытием форм в режиме конструктора. Потом концов можно не собрать (ИМХО) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 16:55 |
|
||
|
RecordSource у формы формируется динамически. Как применить фильтр?
|
|||
|---|---|---|---|
|
#18+
Спасибо. Все, через 5 минут буду собираться пиСтоФать домой и дому уже буду разбираться, скорее всего завтра. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 18:05 |
|
||
|
RecordSource у формы формируется динамически. Как применить фильтр?
|
|||
|---|---|---|---|
|
#18+
Не пис.. пизз.. Иттить! Иттить домой! Ик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2003, 18:39 |
|
||
|
RecordSource у формы формируется динамически. Как применить фильтр?
|
|||
|---|---|---|---|
|
#18+
Короче, не стал ИПаться и сделал 4 формы с фиксированным соурсом (абсолютно одинаковые) и дальше понавешал фильтров на даблклики, аж 7 штук в каждой форме. ;-) То Лифчик : Код почитал, разобрался, локально сохранил, но пока решил не применять. Если базу нам будет писать наемный человек, то пусть себе пишет, если нет... ну тогда зимой буду свою переделывать и совершенствовать, вот тогда и воспользуюсь. А пока - спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2003, 02:22 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32311381&tid=1678526]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
79ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 432ms |

| 0 / 0 |
