Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / перестал работать фильтр / 7 сообщений из 7, страница 1 из 1
27.01.2022, 11:59
    #40129847
kos20
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перестал работать фильтр
День, добрый!
Суть проблемы: есть 2 формы со своими подчинёнными. При нажатии на кнопку, расположенную на Ф1, закрывается Ф1 и открывается Ф2. На Ф2 есть аналогичная Конопка, которая закрывает Ф2 и открывает Ф1. Но После открытия Ф1 почему-то перестает работать фильтр. Вопрос: почему перестает работать фильтр? После открытия заново приложения ACCESS фильтр заново работает.
...
Рейтинг: 0 / 0
27.01.2022, 12:44
    #40129861
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перестал работать фильтр
kos20,

Ищи разницу между открытием форы ф1 заново и открытием формы ф1 по кнопке из ф2
угадать именно в чем она - трудно... примерно так же как угадать почему болит голова вон у того мужика...
...
Рейтинг: 0 / 0
27.01.2022, 13:08
    #40129870
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перестал работать фильтр
А нафига закрывать-открывать? сразу загружай обе формы, вторую просто делай скрытой. По нажатию кнопки скрывай текущую и отображай другую, по кнопке закрытия закрывай и скрытую...

Или две вкладки, в каждой своя форма, и просто переключать их.
...
Рейтинг: 0 / 0
27.01.2022, 13:08
    #40129871
kos20
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перестал работать фильтр
vmag,

Фильтрация осуществляется по этому алгоритму в Форме 1:

Private Sub FormRefilter(Optional sDSCRText$ = "")
'Аргумент: sDSCRText - для пердачи текста в процедуру для поля "Примечание"
'Построройка фильтра по полям и фильтрация (если задано):
Dim sFilter$, sTemp$

If Me.полеКомпания.ListIndex > -1 Then
strFilter = strFilter & " AND КомпанияКод =" & Me!полеКомпания
End If

If Me.ПолеДебитор.ListIndex > -1 Then
strFilter = strFilter & " AND ДебиторКод =" & Me!ПолеДебитор
End If

If Me.ПолеКредитчик.ListIndex > -1 Then
strFilter = strFilter & " AND ДКод =" & Me!Поле1
End If

If Me.ПолеКлиентщик.ListIndex > -1 Then
strFilter = strFilter & " AND ДПКод =" & Me!Поле2
End If

If strFilter <> "" Then 'Фильтр задан
strFilter = Mid(strFilter, 6) 'Обрезаем первый " AND "
[Form_подчиненная форма тСводная].Form.Filter = strFilter
[Form_подчиненная форма тСводная].Form.FilterOn = True
...
...
Рейтинг: 0 / 0
27.01.2022, 13:40
    #40129881
kos20
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перестал работать фильтр
Akina,

Наверно тек и сделаю. Спасибо!. Но хотел разобраться в чем проблема. При этом было подмечено, что фильтр сам по себе работает, но подчинённая форма просто не обновляет данные. Странно, почему так...
...
Рейтинг: 0 / 0
27.01.2022, 14:29
    #40129911
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перестал работать фильтр
kos20,

обычно делаю так
Код: vbnet
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.
Private Sub FormRefilter(Optional sDSCRText$ = "")
'Аргумент: sDSCRText - для пердачи текста в процедуру для поля "Примечание"
'Построройка фильтра по полям и фильтрация (если задано):
Dim s1, s2, sdate
sdate = "\#mm\/dd\/yyyy\#"
s1 = ""
s2 = "" & Me.полеКомпания  ''если возвращается код
If Len(s2) > 0 Then
s1 = s1 & " AND КомпанияКод =" & s2
End If
s2 = "" & Me.ПолеДебитор '' если возвращается текст
If Len(s2) > 0 Then
s1 = s1 & " AND ДебиторКод ='" & s2 & "'"
End If
s2 = Me.Поле1   ''частичный поиск по простому полю
If Len(s2) > 0 Then '
s1 = s1 & " AND ДКод ='*" & s2 & "*'"
End If
s2 = Format(Me.data_n, sdate)  ''начало периода, задавать необязательно
If Len(s2) > 0 Then
s1 = s1 & " AND data_n >=" & s2
End If
s2 = Format(Me.data_k, sdate)  ''конец периода, задавать необязательно
If Len(s2) > 0 Then
s1 = s1 & " AND data_k <=" & s2
End If
If Len(s1) > 0 Then 'Фильтр задан
s1 = Mid(s1, 6) 'Обрезаем первый " AND "
[Form_подчиненная форма тСводная].Form.Filter = s1
[Form_подчиненная форма тСводная].Form.FilterOn = True
End If
End Sub
...
Рейтинг: 0 / 0
27.01.2022, 15:09
    #40129933
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перестал работать фильтр
немного ошиблась
Код: vbnet
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.
Private Sub FormRefilter(Optional sDSCRText$ = "")
'Аргумент: sDSCRText - для пердачи текста в процедуру для поля "Примечание"
'Построройка фильтра по полям и фильтрация (если задано):
Dim s1, s2, sdate
sdate = "\#mm\/dd\/yyyy\#"
s1 = ""
s2 = "" & Me.полеКомпания  ''если возвращается код
If Len(s2) > 0 Then
s1 = s1 & " AND КомпанияКод =" & s2
End If
s2 = "" & Me.ПолеДебитор '' если возвращается текст
If Len(s2) > 0 Then
s1 = s1 & " AND ДебиторКод ='" & s2 & "'"
End If
s2 = "" & Me.Поле1  ''частичный поиск по простому полю
If Len(s2) > 0 Then '
s1 = s1 & " AND ДКод ='*" & s2 & "*'"
End If
s2 = "" & Me.fdata_n ''начало периода, задавать необязательно
If Len(s2) > 0 Then
s1 = s1 & " AND data_n >=" & Format(Me.fdata_n, sdate)
End If
s2 = "" & Me.fdata_k ''конец периода, задавать необязательно
If Len(s2) > 0 Then
s1 = s1 & " AND data_k <=" & Format(Me.fdata_k, sdate)
End If
If Len(s1) > 0 Then 'Фильтр задан
s1 = Mid(s1, 6) 'Обрезаем первый " AND "
[Form_подчиненная форма тСводная].Form.Filter = s1
[Form_подчиненная форма тСводная].Form.FilterOn = True
End If
End Sub
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / перестал работать фильтр / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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