powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Фильтрация формы
51 сообщений из 51, показаны все 3 страниц
Фильтрация формы
    #32160686
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите ПЛИИИЗ!!!!

В форме реализована фильтрация по образцу, который заводишь в свободное поле.
Но для того чтобы фильтр сработал, пришлось вешать процедуру на кнопку,
а так хочется, чтобы красивенько буковку ввел-фильтр раз,
вторую, третью -а он тебе список уменьшает.

Пыталась повесить процедуру на сомо поле на нажатие клавиши, она игнорируется, дайте совет, куда двигать дальше
...
Рейтинг: 0 / 0
Фильтрация формы
    #32160708
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Совет: автоматическое применение фильтра в процессе ввода условия лучше ввобще не делать по причине значительных задержек при увеличении объемов данных.

Если же очень хочется, то в поле на событие OnChange
Ставить процедуру, но только фильтровать не по значению поля а по
Forms!Field.Text
...
Рейтинг: 0 / 0
Фильтрация формы
    #32160731
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Private Sub Поле13_Change()
If Not IsNull(Поле13) Then
Poisk = Поле13.Text
Requery

Else
Poisk = ""
End If
End Sub

Ни фига не пашет

За совет спасибо, но поиск пойдет на небольшой перечень позиций 300,
я аналог сделала на этот же перечень на поле со списком и он прекрасно работает, а вот для формы. не соображу
...
Рейтинг: 0 / 0
Фильтрация формы
    #32160748
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В приведенном примере где собственно фильтрация-то?
Надо примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Private Sub Поле13_Change() 
    If Not IsNull(Поле13) Then 
        Poisk = Поле13.Text 
        Me![SubFormName].Form.Filter =  "FieldName Like "  & Poisk &  "*" 
        Me![SubFormName].Requery 
    Else 
        Poisk = "" 
    End If 
End Sub 
...
Рейтинг: 0 / 0
Фильтрация формы
    #32160756
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или вместо св-ва Filter менять RecordSource (что-то типа .RecordSource = "Select * From TableName Where FieldName Like и т.д.")
...
Рейтинг: 0 / 0
Фильтрация формы
    #32160761
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фильтрация в запросе для формы
Poisk
обрабатывается в отдельной функции psk и в Запрос идет
"*" & psk() & "*"
...
Рейтинг: 0 / 0
Фильтрация формы
    #32160772
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И функция psk использует глобальную переменную Poisk?
Не самое удачное решение, тем не менее поставь в этой функции точку останова, проверь попадает ли оно туда, и чему там эта переменная равна.
...
Рейтинг: 0 / 0
Фильтрация формы
    #32160782
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Втом то и дело, что процедура игнорируется, соответственно и точка не срабатывает, если ввести запись, а но пустое значение идет "", как и прописано в процедуре
...
Рейтинг: 0 / 0
Фильтрация формы
    #32160788
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Процедура игнорируется? Поле13_Change? Это неправильно. Должно работать. У меня подобная фенька используется для поиска, все пашет как часы.
Может, ты контрол случаем переименовала?
...
Рейтинг: 0 / 0
Фильтрация формы
    #32160792
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А в списке свойств помечено, что существует OnChange?
...
Рейтинг: 0 / 0
Фильтрация формы
    #32160797
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня рядом кнопочка, которая прекрастно запускает ту же процедуру на клик и все прекрасно работает,
просто поиск по перечню подрядных организаций и если каждвй раз кликать на какой нибуть газпром, то получаешь список позиций на 40, что не очень облегчает жизнь, хочется, чтобы критерий отбора был живым
...
Рейтинг: 0 / 0
Фильтрация формы
    #32160806
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У тебя событие Change у Поля13 срабатывает или нет? Если нет - смотри пост Владимира Саныча.
...
Рейтинг: 0 / 0
Фильтрация формы
    #32160835
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В случае, если значение пустое, в Глобальную функцию передается Poisk=""? значит срабатывает, кстати, если повесить процедурку на Кнопка Вниз, то все работает, но , естественно уже ничего не добавишь и не сотрешь

Может есть какой нибудь еще путь?
...
Рейтинг: 0 / 0
Фильтрация формы
    #32160847
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ААААААААААААААААААААААА
Ты точку останова можешь поставить в в Поле13_Click???? И сказать точно срабатывает событие или нет?
...
Рейтинг: 0 / 0
Фильтрация формы
    #32160850
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вернее Поле13_Change
...
Рейтинг: 0 / 0
Фильтрация формы
    #32160895
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К сожалению я уже убежала с работы. Завтра попробую и скажу...
Спасибо всем
...
Рейтинг: 0 / 0
Фильтрация формы
    #32160909
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Своим диким криком испугал девушку, да так, что она с работы убежала
Деушка, ти нас нэ бойся. Ми не страшный...
...
Рейтинг: 0 / 0
Фильтрация формы
    #32160911
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Этот девушка испугался не твой крика, а мой морда.
...
Рейтинг: 0 / 0
Фильтрация формы
    #32160918
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вах дарагой зачем обманываешь? Твой морда в форуме нет, да?
...
Рейтинг: 0 / 0
Фильтрация формы
    #32160921
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Если я сейчас свой морда в форум засуну, твой крик цветочек покажется.
...
Рейтинг: 0 / 0
Фильтрация формы
    #32160930
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вай генацвале иди в другой места морда паказывай, а то весь рыба распугаешь. Ти чем морда паказывать лучше крикни да? Вдруг деушка абратна прибежит - а ми тут форма фильтруем.
...
Рейтинг: 0 / 0
Фильтрация формы
    #32160953
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<cit>Poisk
обрабатывается в отдельной функции psk и в Запрос идет
"*" & psk() & "*"</cit>

Господа, а этот писк (psk() или запрос, его передергивающий) не должен ли где-то возбуждаться? Requery, там какое, не требуется ли по сути решения?
...
Рейтинг: 0 / 0
Фильтрация формы
    #32160958
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Лоху: ЫЫЫЫЫЫЫЫЫ!
...
Рейтинг: 0 / 0
Фильтрация формы
    #32160985
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Асса!!
Писк возбуждаться должен? Вай дарагой ну ты бы постеснялся такой вапросы задавать в приличном обществе. Канешна писк должен возбуждаться. Ты даже нэ сомневайся. А то будеш самневатся деушка к тебе такому не придет.
И главное всякий запрос писк не передергивай. Атвалится что делать будешь?
...
Рейтинг: 0 / 0
Фильтрация формы
    #32161116
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
! If Not IsNull(Поле13) Then

Тут то собака и порылась. (*если при открытии пусто)
Вот так работает:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Private Sub sFormula_Change()
Poisk = Me.sFormula.Text & ""
Dim pos
    pos = Me.sFormula.SelStart
    Requery
    Me.sFormula.SetFocus
    Me.sFormula.SelStart = pos
End Sub

2 ЛП - звиняюсь, но Requery не приметил
...
Рейтинг: 0 / 0
Фильтрация формы
    #32161119
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е if Me.Поле_13.Text <>"" then (далее по тексту Вашей пр-ги)
...
Рейтинг: 0 / 0
Фильтрация формы
    #32161189
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вариант (для поля со списком. mdb файл. для adp несколько по другому)
критерии вводятся через пробел. пробел=AND)
варианты дальнейшего применения повкусу.
Private Sub ПолеСоСписком_NotInList(NewData As String, Response As Integer)
………….

str = str & " WHERE " & lik("[имя_поля]", NewData) & ";" (часть текста)
……………………..
Me!ПолеСоСписком.RowSource = str
Response = acDataErrContinue

End Sub

Public Function lik(w, st As Variant)
Dim str, str1, str2 As String
Dim i As Variant
str1 = ""
i = InStr(1, st, " ", 2)
If i <> 0 Then
Do While i > 2
str = str1 & "(" & w & " Like('*" & Mid(st, 1, i - 1) & "*'))"
str1 = " and "
st = Mid(st, i + 1)
lik = lik & str
i = InStr(1, st, " ", 2)
If i = 1 Then Exit Do
Loop
lik = lik & " and (" & w & " Like('*" & st & "*'))"
Else
lik = "(" & w & " Like('*" & st & "*'))"
End If
End Function
...
Рейтинг: 0 / 0
Фильтрация формы
    #32161376
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вы слишком хорошо обо мне думаете
Испугать меня довольно сложно
Зато сегодня утром у меня было время поковыряться
Ларчик просто открывался после второго условия Poisk = "" добавила Requery
и фильтрация заработала но теперь новая проблема
после ввода каждой буквы форма обновляется
и курсор убегает на другое поле, поэтому для ввода следующей, приходится его ставить на место
и вот тут я уже не знаю что делать
попробовала
GoToControl (Поле13)
в загрузку формы, не помогает
Есть умные мысли?
...
Рейтинг: 0 / 0
Фильтрация формы
    #32161391
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ты сделай поле для фильтрации в основной форме, а саму форму запихни в подформу, и ей уже делай requery. Так проще всего.
...
Рейтинг: 0 / 0
Фильтрация формы
    #32161411
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лоху:

Спасибо попробую
Научите картинки вставлять
ОООООООООчень хоооооооочется...........
...
Рейтинг: 0 / 0
Фильтрация формы
    #32161414
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Куда тебе надо картинку вставить???
...
Рейтинг: 0 / 0
Фильтрация формы
    #32161430
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В форум, как у тебя
...
Рейтинг: 0 / 0
Фильтрация формы
    #32161444
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, ну это с годами приходит
...
Рейтинг: 0 / 0
Фильтрация формы
    #32161481
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Лох, прости, но я даме раскрою.

Квадратная скобка открывается
img=
Полный адрес картинки (можно скопировать из свойств)
Квадратная скобка закрывается
...
Рейтинг: 0 / 0
Фильтрация формы
    #32161489
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во, Саныч, натворил...раскрыл секрет....

Ведь известно что право вставлять картинки дается только тем, кто может открыть модально форму, тогда с претендентом связывается представитель ко-модератора и шепечт на ухо секретное слово
А ты разболтал секрет нашего форума! С тебя минус 5 енотов
...
Рейтинг: 0 / 0
Фильтрация формы
    #32161519
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
С меня минус 5 енотов - это значит мне плюс пять. Я согласен.


Просто я сам пару дней назад угробил несколько часов, пока понял. Не хотелось ввергать даму в такое же состояние, оно очень неприятное, а я не садист.
...
Рейтинг: 0 / 0
Фильтрация формы
    #32161542
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно, если пошла такая откровенка, то всем надо в форум Test.
Он весь из этих вопросов и состоит.

5 енотов я вычту из себя сам Уууу... шратфы не померные
...
Рейтинг: 0 / 0
Фильтрация формы
    #32161544
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чего тут искать-то?\r
/topic/28139
...
Рейтинг: 0 / 0
Фильтрация формы
    #32161546
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Да ладно уж, чего там, оставь своих енотов при себе. Мне, может, благодарная дама из своих отдаст.
...
Рейтинг: 0 / 0
Фильтрация формы
    #32161578
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Фильтрация формы
    #32161824
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поиск оставила в главной форме, остальное сделала в подчиненной,Все прекрасно работает, но есть одно НО
Если открываю форму - фильтр не работает,
после того, как перевожу форму в режим конструктора, и обратно, начинает работать У меня крыша едет


За картинки большое спасибо и по 10 енотов каждому
...
Рейтинг: 0 / 0
Фильтрация формы
    #32161923
V. Motchulsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Неправильно крыша едет, надо так
...
Рейтинг: 0 / 0
Фильтрация формы
    #32161934
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если бы НELP мог помочь, я бы не плакала
Просто я думаю, раз начинает работать после режима конструктора, значит загрузка при открытии и загрузка пери переключении режимов чем-то отличается, вот только вопрос чем?
А так как я в Accesse пока чайник, такой анализ мне не по зубам.
А методом тыка, не знаю с чего начать тыкать
...
Рейтинг: 0 / 0
Фильтрация формы
    #32161944
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
У чайника зубы слабые. У него носик сильный. И крыша действительно едет хорошо.

Я бы рад помочь енота на два, но у меня нет ответа. Сорьки.
...
Рейтинг: 0 / 0
Фильтрация формы
    #32161952
V. Motchulsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приведите ка код, который то работает, то не работает, мы его общими усилиями может подправим.
...
Рейтинг: 0 / 0
Фильтрация формы
    #32162028
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да все довольно просто
на двнный момент
есть главная форма с полем, в которое вводится текст фильтра,
есть подчиненнаЯ форма, в которой записи фильтруются
фильтр стоит на запросе для подчиненной формы
идеет через глобальную функцию psk() psk=poisk
а в главной форме на поле для фильтра процедурка
Private Sub Поле13_Change()
If Not IsNull(Поле13) Then
Poisk = Поле13.Text
Requery

Else
Poisk = ""
Requery
End If
End Sub
...
Рейтинг: 0 / 0
Фильтрация формы
    #32162035
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На событиях "Открытие" и "Загрузка" что-нибудь есть?
...
Рейтинг: 0 / 0
Фильтрация формы
    #32162040
V. Motchulsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кажись надо Me.Подчиненная.Requery.
...
Рейтинг: 0 / 0
Фильтрация формы
    #32162180
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если у тебя есть поле в которое вводится фильтр то
1 использование фильтра
а) применение фильтра после ввода всего фильтра - есть преимущества -можно ввести более сложный фильтр. вариант я предложил выше.
б) после ввода каждого символа.
т.е. нужно (к примеру) из списка товара вы брать нужный
у тебя есть названия товара
мыло туалетное 1...
мыло туалетное 2..
и так n раз. фирма торгует косметикой то таких позиций может быть море.
для того чтоб выбрать нужную позицию требуется набрать не информациионную вещь "мыло туалетное " и только потом самое нужное.
я видел такое в фирме пишушей программы для бухг. только список был из названий фирм. названия заводили несколько операторов. одни набирали спереди ООО другие ООО в конце. хоть у них и были правила ввода, но...
им потребовалось найти фирму , которая была у них, все это точно знали.
при мне они искали в программе минут 15 . они - 3 бухгалтера. пытались вспомнить как завели это название. я отдохнул...
поэтому применять такой фильтр не рекомендую.

свой метод я показал выше. и вместо фильтра использую строку для Recordsourse.
как правило для фильтра достаточно ххх AND eee , реже xxx And sss AND ddd
из 5 лет практики .
...
Рейтинг: 0 / 0
Фильтрация формы
    #32163234
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Деушка, Вы глазами читайте... там же ясно написано:
Код: plaintext
If Not IsNull(Поле13) Then  '- причина ваших бед

и надо:
Код: plaintext
if Me.Поле_13.Text <>"" then 

Ибо пока не было сохранения, Поле13 - Null

а прокрутка:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Private Sub Поле13_Change()
Poisk = Me.Поле13.Text & ""
Dim pos                      
    pos = Me.Поле13.SelStart  'позиция курсора 
    Requery
    Me.Поле13.SetFocus        'возврат фокуса в элемент
    Me.Поле13.SelStart = pos  'возврат в позицию
End Sub
...
Рейтинг: 0 / 0
Фильтрация формы
    #32163577
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да , я уже тоже дотумкала

Всем большое спасибо!!!!!!!!!!!
Без Вас никуда!!!!
...
Рейтинг: 0 / 0
51 сообщений из 51, показаны все 3 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Фильтрация формы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]