Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Microsoft Office и VBA > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 31.08.2017, 12:18   #1
klim8
Пользователь
 
Регистрация: 07.08.2016
Сообщений: 15
Репутация: 10
По умолчанию Как сделать чтобы форма фильтровалась по отдельному полю?

Используется:
- Access 2016
- ленточная форма

Сценарий 1:
- вводим значение в поле "фильтр";
- таблица фильтруется;

Сценарий 2:
- выбираем значение в поле "Выбор";
- нажимаем "Ввод";
- Значение попадает в поле "Фильтр";
- ТАБЛИЦА НЕ ФИЛЬТРУЕТСЯ;

ГИФка - ссылка

Код:

Option Compare Database

Private Sub selectCmb_KeyDown(KeyCode As Integer, Shift As Integer)
 If KeyCode = 13 Then
       If Len(filtr.Value) > 0 Then
            If filtr Like "*" & Trim(selectCmb.Text) & "*" Then
               If MsgBox("Ошибка ХХХ. Тектс уже существует !!!" & vbNewLine _
                         & "Все равно добавить?", vbOKCancel + vbCritical) = vbOK Then
                    filtr = filtr & ", " & selectCmb.Text
                End If
            Else
                filtr = filtr & ", " & selectCmb.Text
            End If
        Else
            filtr = selectCmb.Text
        End If
        DoCmd.CancelEvent
    End If
End Sub

'' *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
'' *** СОБЫТИЕ. ФИЛЬТР  ***
'' *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***

Private Sub filtr_change()
    s0 = "" & Me.filtr
    Call fpoisk
    Me.filtr.SelStart = Len(s0) + 1
    
End Sub



' *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
' *** fpoisk()
' *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Sub fpoisk()

Dim s1, s2
Me.Refresh
s1 = "true "

 ' Азия
s2 = "" & Me.filtr ' Азия
 If Len(s2) > 0 Then
s1 = s1 & " and Азия like '*" & s2 & "*'"
End If

Me.Filter = s1
Me.FilterOn = True

End Sub  ' fpoisk


Вопрос
Как сделать чтобы в Сценарии 2 таблица фильтровалась по значению в поле "Фильтр", которое туда попало из поля "Выбор" ?
Вложения
Тип файла: zip vpr_sale_00.zip (43.1 Кб, 3 просмотров)
klim8 вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать, чтобы форма не закрылась? Ципихович Эндрю Microsoft Office Word 5 22.01.2012 18:14
Как правильно сделать чтобы одиннадцатая форма открывалась в первой Leila_4ever Общие вопросы Delphi 9 27.05.2011 08:53
Как сделать чтобы форма закрывалась по нажатию ESC H'orn Общие вопросы .NET 2 05.10.2010 11:50
Как сделать так, чтобы форма была поверх всех окон? Jupiter Общие вопросы Delphi 9 31.07.2009 17:42
Как сделать чтобы форма была над трэем Bigtyoma Общие вопросы Delphi 2 24.09.2008 17:40




01:06.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru