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

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

Или две вкладки, в каждой своя форма, и просто переключать их.
...
Рейтинг: 0 / 0
перестал работать фильтр
    #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
перестал работать фильтр
    #40129881
kos20
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

Наверно тек и сделаю. Спасибо!. Но хотел разобраться в чем проблема. При этом было подмечено, что фильтр сам по себе работает, но подчинённая форма просто не обновляет данные. Странно, почему так...
...
Рейтинг: 0 / 0
перестал работать фильтр
    #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
перестал работать фильтр
    #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
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / перестал работать фильтр
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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