![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 17.07.2011
Сообщений: 145
|
![]()
На этом форуме кто-то выкладывал Пример поиска с фильтром (тему найти не смог, видимо ослеп), где ленточная форма фильтровалась на изменение поля, решил сделать тоже самое и столкнулся вот какой проблемой.
После применения фильтра Код:
Код:
Последний раз редактировалось satka; 14.10.2011 в 14:23. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 17.07.2011
Сообщений: 145
|
![]()
Up Ну что никто не знает как решит эту проблему?
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 09.06.2011
Сообщений: 515
|
![]()
Я что-то не совсем понял вопрос. Вылаживайте пример посмотрим.
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 17.07.2011
Сообщений: 145
|
![]()
Вылажить не смогу. Поясню (хотя и так вроде всё ясно):
пишем что-то в поле fstreet, происходит событие на продцедуру fstreet_Change, как видно из приведённого кода вызывается функция Filtr, после применения фильтра и окончания работы функции, возвращаемся в продцедуру fstreet_Change, где должна выполниться строка Me.fstreet.SelStart = Len(fs) + 1 и вот тут, если после применения фильтра в ленточной форме нет записей, то происходит описанная выше ошибка (полагаю потому что, фокус с поля fstreet переходит на расположеную ниже этого поля кнопку), если записи есть то эта строка выполняется корректно, перенося курсор ввода в конец текста. Яснее не могу. Вопрос: Почему так происходит? И как с этим бороться? |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 09.06.2011
Сообщений: 515
|
![]()
Допишите поле проверки что то вроде if Len(fs)>0 then stop or end sub
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 17.07.2011
Сообщений: 145
|
![]()
Дописать в каком месте? И в чём смысл условия?
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 09.06.2011
Сообщений: 515
|
![]()
С вышеуказанного у меня возникло ощущение, что в поле которое Вы пытаетесь перейти значение по умолчанию берёт данные с таблицы которая у вас выводится. И когда значение нулевое выдаёт ошибку так как не возможно принять нулевой или ошибочный параметр. Для этого я и предлогаю вам дописать условие проверки значения и в случае если оно нулевое или ошибка не переходить на следующее поле.
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 17.07.2011
Сообщений: 145
|
![]()
Поле fstreet является свободным, и нужно только для ввода даных для фильтра, который применяется для фильтрации данных запроса, который выводит записи в ленточную форму, поле находится в заголовке этой ленточной формы
Такой вот пример выкладывал кто-то, в чём разница с моими записями, там если ничего не выводится, то ничего и не происходит, у меня же выскакивает вышеозначеная ошибка Последний раз редактировалось satka; 22.10.2011 в 08:15. |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 09.06.2011
Сообщений: 515
|
![]()
Попробуйте через Ф8 пройти по модулю изменения. Я на 99% уверен что параметр fstreet или null or Error..... С того что я видел можно сделать вывод что у Вас проблеима в запросе..... я его не видел но есть такое предположение что у Вас в запросе стоит просто условие отбора с формы:
"*" & [forms]![tt]![value] & "*" а лучше проставить как вариант: iif(iserrror([forms]![tt]![value])=-1;"*";iif(isnull([forms]![tt]![value])=-1;"*";"*" & [forms]![tt]![value] & "*") |
![]() |
![]() |
![]() |
#10 |
Новичок
Джуниор
Регистрация: 27.10.2011
Сообщений: 2
|
![]()
Помогите, пожалусто!!!
Мне необходимо реализовать следующий действие: Нужно ввести в Поле3 значение, нажать на кнопку и должна вылезти новая форма в которой информация будет отфильтрована по значению в Поле3. В программном коде я написала следующее: Private Sub Кнопка20_Click() Me.Поле3 = "" Me.Filter = "" Me.FilterOn = True DoCmd.OpenForm "РАСТЕНИЕ" End Sub Но форма открывается но информация в ней не фильтруется выдаются все записи. Подскажите что я написала не так? |
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с фильтром | nervniy | БД в Delphi | 4 | 19.08.2010 06:36 |
Проблема с фильтром в ADOTable | son_of_koshi | Помощь студентам | 2 | 04.08.2010 14:21 |
Работаем с фильтром... | nikolai_P | Microsoft Office Excel | 7 | 13.03.2009 14:04 |
Combobox с фильтром | Legat | Общие вопросы Delphi | 4 | 10.02.2009 14:51 |