powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / текстовый фильтр в форме
13 сообщений из 13, страница 1 из 1
текстовый фильтр в форме
    #39210857
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал текстовый фильтр, но не получается сделать его так, чтобы я мог записывать в ячейку несколько слов, через пробел,
и вторая проблема, если я пишу в ячейке слово, которого нет, то вылетает ошибка кода, как сделать так чтобы в форме просто не показаловалось бы записей?

https://cloud.mail.ru/public/6NDU/3upFjww2H
...
Рейтинг: 0 / 0
текстовый фильтр в форме
    #39210979
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisan,

Посмотрите пример(пустую выборку не обрабатывала)
...
Рейтинг: 0 / 0
текстовый фильтр в форме
    #39210982
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
Option Compare Database
Dim S0
'''''''''''''''добавление
Private Sub VOpisanie_KeyPress(KeyAscii As Integer)
If KeyAscii = 32 Then
KeyAscii = Asc("?")
End If
End Sub

Sub fpoisk()
Dim s1, s2
Me.Refresh
s1 = "true "
'''''''''''''''исправление
s2 = Replace("" & Me.VInstr_id, "?", " ")
If Form.Recordset.EOF Then Me.FilterOn = False
    Form.Dirty = False
    
 

If Len(s2) > 0 Then
s1 = s1 & " and  Instr_id like '*" & s2 & "*'"
End If
s2 = "" & Me.VOpisanie
If Len(s2) > 0 Then
s1 = s1 & " and Opisanie like '*" & s2 & "*'"
End If


Me.Filter = s1
Me.FilterOn = True
End Sub

Private Sub VInstr_id_Change()
S0 = "" & Me.VInstr_id

Call fpoisk
If Form.Recordset.EOF Then Me.FilterOn = False
    Form.Dirty = False
Me.VInstr_id.SelStart = Len(S0) + 1
End Sub

Private Sub Check1017_DblClick(Cancel As Integer)
    On Error GoTo errend
    Application.Echo False
    If Me.selectrecord Like "*|" & Me.ID & "|*" Then
        Me.selectrecord = Replace(Me.selectrecord, "|" & Me.ID & "|", "")
    Else
        Me.selectrecord = Me.selectrecord & "|" & Me.ID & "|"
    End If
    selectid = Me.selectrecord
    If Len(Me.selectrecord & "") = 0 Then
        Me.Summa = 0
        Me.Summa2 = 0
    Else
        Me.Summa = DSum("Cheloveko_chasi_na_TP_B1", "kl", "id in(" & inExpr(Me.selectrecord) & ")")
        Me.Summa2 = DSum("Cheloveko_chasi_na_TP_B2", "kl", "id in(" & inExpr(Me.selectrecord) & ")")
    End If
    Me.Recalc
errend:
    Application.Echo True
End Sub

Private Sub VOpisanie_Change()
S0 = "" & Me.VOpisanie

Call fpoisk
If Form.Recordset.EOF Then Me.FilterOn = False
    Form.Dirty = False
Me.VOpisanie.SelStart = Len(S0) + 1
End Sub
...
Рейтинг: 0 / 0
текстовый фильтр в форме
    #39211061
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА,

Хорошо, вечером посмотрю, спасибо!
...
Рейтинг: 0 / 0
текстовый фильтр в форме
    #39211076
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RetvisanСделал текстовый фильтр, но не получается сделать его так, чтобы я мог записывать в ячейку несколько слов, через пробел,
и вторая проблема, если я пишу в ячейке слово, которого нет, то вылетает ошибка кода, как сделать так чтобы в форме просто не показаловалось бы записей?

Попробуй

Like "*" & [значение фильтра] & "*"
несколько слов (обрывков слов) записывай в значение фильтра через * а не через пробел...
...
Рейтинг: 0 / 0
текстовый фильтр в форме
    #39211114
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сомневаюсь, что там вообще нужны LIKE.
Скорее всего, там просто значения и нужны равенства.

Во всяком случае, то, что я видела, было именно таким.
И кучу LIKE-ов в критериях я уже в одной из предыдущих тем упразднила.

И вот тут 19013761 все эти критерии для vagon01 ÷ vagon10 тоже нужно переделать.
И следующие за ними тоже.
И не только из-за LIKE-ов, вообще переделать.
...
Рейтинг: 0 / 0
текстовый фильтр в форме
    #39211121
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisan,

Вот это зачем после сброса фильтра?
Код: vbnet
1.
Form.Dirty = False

Что сохранять там после этого?
...
Рейтинг: 0 / 0
текстовый фильтр в форме
    #39211783
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle, нее) эта совсем другая форма,она является источником данных для новой(где есть этот текстовый фильтр). все что есть в этой форме, есть в примере, который я выложил
...
Рейтинг: 0 / 0
текстовый фильтр в форме
    #39211947
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisan, да, действительно.
Открыла в 2003 – вылетает при попытке перейти в конструктор формы,
в 2007 – вылетает (не отвечает) при попытке сохранения микро-изменений формы
(попытка вместо перечня всех полей в источнике данных просто указать таблицу).
Там ведь вроде все элементарно, но вот так.
Перевести в 2000 тоже не получается.
Вот к этому совету прислушайтесь 19032830 .
...
Рейтинг: 0 / 0
текстовый фильтр в форме
    #39211966
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,понял, завтра прислушаюсь)
...
Рейтинг: 0 / 0
текстовый фильтр в форме
    #39211979
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisan,
А вот здесь, 19032245 , смотрю, пробел сначала маскируется вопросительным знаком,
а потом при формировании фильтра снова переводится в пробел.
Это, может, даже лучше, точнее, если важно, чтобы, кроме этого пробела, ничего не попало между словами.
...
Рейтинг: 0 / 0
текстовый фильтр в форме
    #39212194
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА,
Код: vbnet
1.
Private Sub VOpisanie_KeyPress(KeyAscii As Integer)


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

https://cloud.mail.ru/public/6fHA/3oQbZLYBN
вот бд, здесь побольше данных для фильтрации
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / текстовый фильтр в форме
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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