powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / фильр флажками
25 сообщений из 66, страница 2 из 3
фильр флажками
    #39202758
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisan,

там показаны ВСЕ сочетания, но
для стадий обслуживания возможно нужны оба варианта в чистом виде
(L OR N)
(L AND N)

или в комплексе
((L OR N) AND (310 OR 320))

но для
--высокое напряжение
--береговое питание

не может быть одновременно 2 условия
...
Рейтинг: 0 / 0
фильр флажками
    #39202767
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisan,

что здесь не так
Код: 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.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
Private Sub FilterForm()

Dim s As String, s1, s2, s3
s1 = ""
s2 = ""
s3 = ""

s = "True"

If Form.Recordset.EOF Then Me.FilterOn = False
Form.Dirty = False
If [LVybor] > "" Then s1 = s1 & " or [L] Like  '*" & LVybor & "*'"
If [NVybor] > "" Then s1 = s1 & " or [N] Like  '*" & NVybor & "*'"
If [IS510Vybor] > "" Then s1 = s1 & " or [IS510] Like  '*" & IS510Vybor & "*'"
If [IS520Vybor] > "" Then s1 = s1 & " or [IS520] Like  '*" & IS520Vybor & "*'"
If [IS530Vybor] > "" Then s1 = s1 & " or [IS530] Like  '*" & IS530Vybor & "*'"
If [R1Vybor] > "" Then s1 = s1 & " or [R1] Like  '*" & R1Vybor & "*'"
If [R2Vybor] > "" Then s1 = s1 & " or [R2] Like  '*" & R2Vybor & "*'"
If [R3Vybor] > "" Then s1 = s1 & " or [R3] Like  '*" & R3Vybor & "*'"
If [R4Vybor] > "" Then s1 = s1 & " or [R4] Like  '*" & R4Vybor & "*'"
If [R5Vybor] > "" Then s1 = s1 & " or [R5] Like  '*" & R5Vybor & "*'"
If [VneplanVybor] > "" Then s1 = s1 & " or [vneplan] Like  '*" & VneplanVybor & "*'"

''    If [kVili25kV] > "" Then s = s & " or [kVili25kV] Like  '*" & Vybor3kV & "*'"
''    If [Beregpit_380V] > "" Then s = s & " or [Beregpit_380V] Like  '*" & Vybor380V & "*'"
''
''    If [Bortnapr_110V] > "" Then s = s & " or [Bortnapr_110V] Like  '*" & Vybor110V & "*'"
''    If [Obestochen_poezd] > "" Then s = s & " or [Obestochen_poezd] Like  '*" & obVybor & "*'"
''    If [Zazemlen] > "" Then s = s & " or [Zazemlen] Like  '*" & zazemVybor & "*'"
''    If [Davleniev_HM] > "" Then s = s & " or [Davleniev_HM] Like  '*" & HMVybor & "*'"
''    If [Davleniev_TM] > "" Then s = s & " or [Davleniev_TM] Like  '*" & TMVybor & "*'"
'''''''''''''''''''
 With Me
 ''MsgBox .kV3Vybor & "=" & .kVili25kV
        If (.kV3Vybor = 1) Then
            s2 = s2 & " and [kVili25kV] Like ""ДА"""
        End If
        If (.kV3Vybor = 2) Then
            s2 = s2 & " and [kVili25kV] Like ""НЕТ"""
        End If
        If (.kV3Vybor = 3) Then
            s2 = s2 & " and len('' & [kVili25kV])=0"
        End If
        
        If (.kV3Vybor = 4) Then
            '''DoCmd.ShowAllRecords
                End If
    End With
    ''''''''''''''''''''''''''''''

With Me
        If (.V380Vybor = 1) Then
            s3 = s3 & " and [Beregpit_380V] Like ""ДА"""
        End If
        If (.V380Vybor = 2) Then
            s3 = s3 & " and [Beregpit_380V] Like ""НЕТ"""
        End If
        If (.V380Vybor = 3) Then
           s3 = s3 & " and len('' & [Beregpit_380V])=0"
        End If
        
        If (.V380Vybor = 4) Then
            ''DoCmd.ShowAllRecords
                End If
    End With
    '''''''''''''''''''''''''''''
    If Len(s1) > 0 Then
    s = s & " and ( " & Mid(s1, 5) & ")"
    End If
     '''''''''''''''''''''''''''''
    If Len(s2) > 0 Then
    s = s & " and ( " & Mid(s2, 5) & ")"
    End If
     '''''''''''''''''''''''''''''
    If Len(s3) > 0 Then
    s = s & " and ( " & Mid(s3, 5) & ")"
    End If
    '''''''''''''''''''''''''''

MsgBox s
Debug.Print s
Me.Filter = s
Me.FilterOn = True
End Sub
...
Рейтинг: 0 / 0
фильр флажками
    #39202771
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisan,

Какую "ту же ошибку"? Приведите, пожалуйста, сообщение и на какой строке кода, покажите.
И код, пожалуйста, оформляйте тегами.
У меня все работает, фильтрует превосходно.

Значения по умолчанию присвоили?
...
Рейтинг: 0 / 0
фильр флажками
    #39202773
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisan,

этот код для условия (l or n) and(kv3) and (380)
...
Рейтинг: 0 / 0
фильр флажками
    #39202781
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА,

вот отсутствие двух возможностей и мешает(поэтому и не подходят блоки перключателей), для этого и были применены флажки. был создан общий фильтр, который будет все эти флажки и списки проходить, на как оказалось в списках тоже был косяк((
...
Рейтинг: 0 / 0
фильр флажками
    #39202785
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisan,

18989485 .
...
Рейтинг: 0 / 0
фильр флажками
    #39202790
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

да присвоил
...
Рейтинг: 0 / 0
фильр флажками
    #39202791
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

Код: 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.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
Private Sub FilterForm()

Dim strFilter As String
Dim s As String

    strFilter = "True"
    
     
    If Form.Recordset.EOF Then Me.FilterOn = False
    Form.Dirty = False
    
    
    If Not IsNull(LVybor) Then strFilter = strFilter & " AND [L]=""" & LVybor & """"
    If Not IsNull(NVybor) Then strFilter = strFilter & " AND [N]=""" & NVybor & """"
    If Not IsNull(IS510Vybor) Then strFilter = strFilter & " AND [IS510]=""" & IS510Vybor & """"
    If Not IsNull(IS520Vybor) Then strFilter = strFilter & " AND [IS520]=""" & IS520Vybor & """"
    If Not IsNull(IS530Vybor) Then strFilter = strFilter & " AND [IS530]=""" & IS530Vybor & """"
    If Not IsNull(R1Vybor) Then strFilter = strFilter & " AND [R1]=""" & R1Vybor & """"
    If Not IsNull(R2Vybor) Then strFilter = strFilter & " AND [R2]=""" & R2Vybor & """"
    If Not IsNull(R3Vybor) Then strFilter = strFilter & " AND [R3]=""" & R3Vybor & """"
    If Not IsNull(R4Vybor) Then strFilter = strFilter & " AND [R4]=""" & R4Vybor & """"
    If Not IsNull(R5Vybor) Then strFilter = strFilter & " AND [R5]=""" & R5Vybor & """"
    If Not IsNull(VneplanVybor) Then strFilter = strFilter & " AND [vneplan]=""" & VneplanVybor & """"

    
    If Not Napr_all And _
       Not (Napr_no And Napr_yes And Napr_case) And _
       Not (Not Napr_no And Not Napr_yes And Not Napr_case) Then
     s = " AND  (False"
     If Napr_no Then s = s & " OR ([kVili25kV]=""ÍÅÒ"")"
     If Napr_yes Then s = s & " OR ([kVili25kV]=""ÄÀ"")"
     If Napr_case Then s = s & " OR ([kVili25kV] Is Null)"
     s = s & ")"
    End If


    
    
    strFilter = strFilter & s
    
    Me.FilterOn = True
    
    
    
End Sub
...
Рейтинг: 0 / 0
фильр флажками
    #39202793
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisan,

Ответьте, все же, на все заданные вопросы.
В частности, "Какую "ту же ошибку"? Приведите, пожалуйста, сообщение и на какой строке кода, покажите."
...
Рейтинг: 0 / 0
фильр флажками
    #39202794
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,
...
Рейтинг: 0 / 0
фильр флажками
    #39202798
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,немного инет медленный...
...
Рейтинг: 0 / 0
фильр флажками
    #39202801
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisan,

Нажмите Debug, покажите строку кода.
Такому сочетанию там неоткуда взяться, вроде.
...
Рейтинг: 0 / 0
фильр флажками
    #39202804
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

для остальных флажков соответственно тоже самое: нет-False,да-false,неважно-false,все-true
...
Рейтинг: 0 / 0
фильр флажками
    #39202805
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisan__Michelle,немного инет медленный...Ладно. Буду терпеливей.)))
...
Рейтинг: 0 / 0
фильр флажками
    #39202807
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisan,

Знак равенства уберите.
Просто False.
...
Рейтинг: 0 / 0
фильр флажками
    #39202811
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

спасибо, с утра все почту отправляют-получают)) 18989553 вроде как здесь строка, где ошибка вылезает.. он не может судя по всему объединить мои списки и флажки...
...
Рейтинг: 0 / 0
фильр флажками
    #39202820
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisan,
а это код для двух режимов(добавлена кнопка)

Код: 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.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
Private Sub Кнопка417_Click()
Call FilterForm(" AND ")
End Sub
Private Sub FilterForm(Optional r As String = " or ")

Dim s As String, s1, s2, s3
s1 = ""
s2 = ""
s3 = ""
Me.Надпись418.Caption = r
Me.Refresh
s = "True"

If Form.Recordset.EOF Then Me.FilterOn = False
Form.Dirty = False
If [LVybor] > "" Then s1 = s1 & " or [L] Like  '*" & LVybor & "*'"
If [NVybor] > "" Then s1 = s1 & " or [N] Like  '*" & NVybor & "*'"
If [IS510Vybor] > "" Then s1 = s1 & " or [IS510] Like  '*" & IS510Vybor & "*'"
If [IS520Vybor] > "" Then s1 = s1 & " or [IS520] Like  '*" & IS520Vybor & "*'"
If [IS530Vybor] > "" Then s1 = s1 & " or [IS530] Like  '*" & IS530Vybor & "*'"
If [R1Vybor] > "" Then s1 = s1 & " or [R1] Like  '*" & R1Vybor & "*'"
If [R2Vybor] > "" Then s1 = s1 & " or [R2] Like  '*" & R2Vybor & "*'"
If [R3Vybor] > "" Then s1 = s1 & " or [R3] Like  '*" & R3Vybor & "*'"
If [R4Vybor] > "" Then s1 = s1 & " or [R4] Like  '*" & R4Vybor & "*'"
If [R5Vybor] > "" Then s1 = s1 & " or [R5] Like  '*" & R5Vybor & "*'"
If [VneplanVybor] > "" Then s1 = s1 & " or [vneplan] Like  '*" & VneplanVybor & "*'"

If r = " AND " Then
s1 = Replace(s1, " or ", r)
End If



''    If [kVili25kV] > "" Then s = s & " or [kVili25kV] Like  '*" & Vybor3kV & "*'"
''    If [Beregpit_380V] > "" Then s = s & " or [Beregpit_380V] Like  '*" & Vybor380V & "*'"
''
''    If [Bortnapr_110V] > "" Then s = s & " or [Bortnapr_110V] Like  '*" & Vybor110V & "*'"
''    If [Obestochen_poezd] > "" Then s = s & " or [Obestochen_poezd] Like  '*" & obVybor & "*'"
''    If [Zazemlen] > "" Then s = s & " or [Zazemlen] Like  '*" & zazemVybor & "*'"
''    If [Davleniev_HM] > "" Then s = s & " or [Davleniev_HM] Like  '*" & HMVybor & "*'"
''    If [Davleniev_TM] > "" Then s = s & " or [Davleniev_TM] Like  '*" & TMVybor & "*'"
'''''''''''''''''''
 With Me
 ''MsgBox .kV3Vybor & "=" & .kVili25kV
        If (.kV3Vybor = 1) Then
            s2 = s2 & " and [kVili25kV] Like ""ДА"""
        End If
        If (.kV3Vybor = 2) Then
            s2 = s2 & " and [kVili25kV] Like ""НЕТ"""
        End If
        If (.kV3Vybor = 3) Then
            s2 = s2 & " and len('' & [kVili25kV])=0"
        End If
        
        If (.kV3Vybor = 4) Then
            '''DoCmd.ShowAllRecords
                End If
    End With
    ''''''''''''''''''''''''''''''

With Me
        If (.V380Vybor = 1) Then
            s3 = s3 & " and [Beregpit_380V] Like ""ДА"""
        End If
        If (.V380Vybor = 2) Then
            s3 = s3 & " and [Beregpit_380V] Like ""НЕТ"""
        End If
        If (.V380Vybor = 3) Then
           s3 = s3 & " and len('' & [Beregpit_380V])=0"
        End If
        
        If (.V380Vybor = 4) Then
            ''DoCmd.ShowAllRecords
                End If
    End With
    '''''''''''''''''''''''''''''
    If Len(s1) > 0 Then
    s = s & " and ( " & Mid(s1, 5) & ")"
    End If
     '''''''''''''''''''''''''''''
    If Len(s2) > 0 Then
    s = s & " and ( " & Mid(s2, 5) & ")"
    End If
     '''''''''''''''''''''''''''''
    If Len(s3) > 0 Then
    s = s & " and ( " & Mid(s3, 5) & ")"
    End If
    '''''''''''''''''''''''''''
Me.Надпись419.Caption = s
'MsgBox s
Debug.Print s
Me.Filter = s
Me.FilterOn = True
End Sub
...
Рейтинг: 0 / 0
фильр флажками
    #39202827
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА,

Код: 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.
With Me
 ''MsgBox .kV3Vybor & "=" & .kVili25kV
        If (.kV3Vybor = 1) Then
            s2 = s2 & " and [kVili25kV] Like ""ДА"""
        End If
        If (.kV3Vybor = 2) Then
            s2 = s2 & " and [kVili25kV] Like ""НЕТ"""
        End If
        If (.kV3Vybor = 3) Then
            s2 = s2 & " and len('' & [kVili25kV])=0"
        End If
        
        If (.kV3Vybor = 4) Then
            '''DoCmd.ShowAllRecords
                End If
    End With
    ''''''''''''''''''''''''''''''

With Me
        If (.V380Vybor = 1) Then
            s3 = s3 & " and [Beregpit_380V] Like ""ДА"""
        End If
        If (.V380Vybor = 2) Then
            s3 = s3 & " and [Beregpit_380V] Like ""НЕТ"""
        End If
        If (.V380Vybor = 3) Then
           s3 = s3 & " and len('' & [Beregpit_380V])=0"
        End If
        
        If (.V380Vybor = 4) Then
            ''DoCmd.ShowAllRecords
                End If



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

После этого
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
    If Not Napr_all And _
       Not (Napr_no And Napr_yes And Napr_case) And _
       Not (Not Napr_no And Not Napr_yes And Not Napr_case) Then
     s = " AND  (False"
     If Napr_no Then s = s & " OR ([kVili25kV]=""ÍÅÒ"")"
     If Napr_yes Then s = s & " OR ([kVili25kV]=""ÄÀ"")"
     If Napr_case Then s = s & " OR ([kVili25kV] Is Null)"
     s = s & ")"
    End If

поставьте, пожалуйста,
Код: vbnet
1.
Debug.Print s

и покажите, что будет в окне Immediate.
...
Рейтинг: 0 / 0
фильр флажками
    #39202837
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisanэтот кусок кода отнесен к группе переключателей, мне это не подходит, ибо там я смогу выбрать лишь одну позизию, мне нужно две или я что-то не понимаю

я не пойму, как здесь может быть выбор двух позиций ИЗ да-нет-пусто -все

если только
да или пусто
нет или пусто
да или нет
не пусто

---
...
Рейтинг: 0 / 0
фильр флажками
    #39202848
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

вроде так?
...
Рейтинг: 0 / 0
фильр флажками
    #39202852
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisan,

Плохо, что я не могу сохранить Вашу БД с изменениями и выслать.
Вываливается Access при сохранении в Вашей БД.

Может, преобразуете в формат 2000-го, я сейчас на другой машине попробую, вдруг получится?
...
Рейтинг: 0 / 0
фильр флажками
    #39202854
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

вот получилось)
...
Рейтинг: 0 / 0
фильр флажками
    #39202865
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
фильр флажками
    #39202866
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisan,

Нет.
Надо было поставить сразу после блока If, в котором формируется s
До объединения strFilter и s.

Вот так сделайте
Код: vbnet
1.
2.
Debug.Print "strFilter=""" & strFilter  & """"
Debug.Print "s=""" & s & """"
...
Рейтинг: 0 / 0
25 сообщений из 66, страница 2 из 3
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / фильр флажками
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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