powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / vba фильтр и фокус
17 сообщений из 17, страница 1 из 1
vba фильтр и фокус
    #38477057
kukulia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
If KeyAscii = 8 Then
   str = ""
 Else
   str = str + Chr$(KeyAscii)
 End If
 'If Not IsNumeric(str) Then
   Me.Filter = "(Текст & Название  like" & Chr(34) & "*" & str & "*" & Chr(34) & ")"
 'End If
 
 Me.FilterOn = str <> ""
 Me.Caption = str


есть такой код, при нажатии Backspace фокус уходит на поле Текст, как сделать, чтобы фокус оставался на поле Название
Me![Название].SetFocus куда впихнуть?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
vba фильтр и фокус
    #39300005
Фотография Rikozenit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kukulia,

Пытаюсь сделать нечто подобное, но не работает...
Подскажите, в чём ошибка? Спасибо! Me.Filter = "(Заказ_№ like " * " & 609 & " * ")"
...
Рейтинг: 0 / 0
vba фильтр и фокус
    #39300012
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
Me.Filter = "[Заказ_№] like '*" & 609 & "*'"
...
Рейтинг: 0 / 0
vba фильтр и фокус
    #39300018
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
Me.Filter = "([Заказ_№] like [color=red]'[/color]"*" & 609 & "*[color=red]'[/color]")"
...
Рейтинг: 0 / 0
vba фильтр и фокус
    #39300023
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это я пытался выделить красным цветом одинарные кавычки. Нужно убрасть все, что в квадратных скобках, кроме [Заказ_№], конечно.
...
Рейтинг: 0 / 0
vba фильтр и фокус
    #39300115
Фотография Rikozenit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот этот работает: mds_world
Код: vbnet
1.
Me.Filter = "[Заказ_№] like '*" & 609 & "*'"


А вот это, к сожалению, нет:
Код: vbnet
1.
Me.Filter = "([Заказ_№] like "*" & 609 & "*")"



А как сделать так, чтобы этот код "Me.Filter = " не отменял действия предыдущего фильтра, а "накладывался поверх"?
...
Рейтинг: 0 / 0
vba фильтр и фокус
    #39300122
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RikozenitА вот это, к сожалению, нет
Ну в моем ответе одинарная кавычка тоже присутствовала


RikozenitА как сделать так, чтобы этот код "Me.Filter = " не отменял действия предыдущего фильтра, а "накладывался поверх"?
Считываете старое значение и добавляете к нему новое, соединяя выражения через " and "
...
Рейтинг: 0 / 0
vba фильтр и фокус
    #39300167
Фотография Rikozenit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RikozenitА как сделать так, чтобы этот код "Me.Filter = " не отменял действия предыдущего фильтра, а "накладывался поверх"?
MrShin Считываете старое значение и добавляете к нему новое, соединяя выражения через " and "
Как считать старое значение?

И ещё вопрос, не получается одновременно по двум условиям отфильтроваться
Код: vbnet
1.
 Me.Filter = "[Заказ_№] like '*" & 609 & "*' or "*" & 909 & "*'" 


Уже самыми разными способами попробовал(
Благодарю, за помощь!
...
Рейтинг: 0 / 0
vba фильтр и фокус
    #39300177
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rikozenit,

Код: vbnet
1.
Me.Filter = IIF(Len(Me.Filter)>0, Me.Filter & " And ",vbNullString) & "[Заказ_№] like '*" & 609 & "*' or "*" & 909 & "*'" 
...
Рейтинг: 0 / 0
vba фильтр и фокус
    #39300185
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Немного подправлю
Код: vbnet
1.
Me.Filter = IIF(Len(Me.Filter)>0, Me.Filter & " And ",vbNullString) & "[Заказ_№] like '*" & 609 & "*' or [Заказ_№] like '*" & 909 & "*'"    
...
Рейтинг: 0 / 0
vba фильтр и фокус
    #39300189
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще немного подправлю
Код: vbnet
1.
Me.Filter = IIF(Len(Me.Filter)>0, Me.Filter & " And ",vbNullString) & "([Заказ_№] like '*" & 609 & "*' or [Заказ_№] like '*" & 909 & "*')"    
...
Рейтинг: 0 / 0
vba фильтр и фокус
    #39300353
Фотография Rikozenit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург, __Michelle,
работает! Спасибо)

А как наоборот - полностью сбросить фильтр? Вот так он фильтр просто снимает:
Код: vbnet
1.
2.
Private Sub сброс_Ф_заказа_Click()
Me.FilterOn = 0
...
Рейтинг: 0 / 0
vba фильтр и фокус
    #39300369
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
Me.Filter = ""
Me.FilterOn = False
...
Рейтинг: 0 / 0
vba фильтр и фокус
    #39300436
Фотография Rikozenit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle,
Работает!!

А что делать, если нужно снять фильтр не со всех полей, а с конкретных? У меня два этапа фильтрации: по номеру заказа, например 1155:
Код: vbnet
1.
2.
3.
4.
5.
Private Sub Ф_заказа_Click()
s = InputBox("Введите номер заказа")
Me.Filter = "[Заказ_№] like '*" & s & "*'"
Me.FilterOn = True
End Sub


и затем по метке "отображать_всегда":
Код: vbnet
1.
2.
3.
4.
Private Sub отображ_основ_Click()
Me.Filter = IIf(Len(Me.Filter) > 0, Me.Filter & " And ", vbNullString) & "отображать_всегда = True"
Me.FilterOn = True
End Sub


Затем хочу снова видеть заказ 1155, но без фильтра по метке:
Код: vbnet
1.
2.
3.
4.
5.
Private Sub снять_ф_основн_Click()
Me.Filter = ""
Me.Filter = "[Заказ_№] like '*" & s & "*'"
Me.FilterOn = True
End Sub


но код снимает фильтр целиком. То есть он не запоминает, что я вводил в переменную s... Понимаю, что лимит на сегодня, пожалуй, исчерпал, но всё же прошу помощи)
...
Рейтинг: 0 / 0
vba фильтр и фокус
    #39300451
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rikozenit....Затем хочу снова видеть заказ 1155, но без фильтра по метке:
Код: vbnet
1.
2.
3.
4.
5.
Private Sub снять_ф_основн_Click()
Me.Filter = ""
Me.Filter = "[Заказ_№] like '*" & s & "*'"
Me.FilterOn = True
End Sub


но код снимает фильтр целиком. То есть он не запоминает, что я вводил в переменную s...Кто "он", который "не запоминает"?
Это Ваша забота - обеспечить нужную область видимости переменной и ее значения.
Me.Filter = "" на значение переменной s никак не влияет.
...
Рейтинг: 0 / 0
vba фильтр и фокус
    #39300454
Фотография Rikozenit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle,
Я вроде даже переменную s ввёл:
Код: vbnet
1.
2.
3.
Sub My()
Dim s As Integer
End Sub


думал этого достаточно...(
...
Рейтинг: 0 / 0
vba фильтр и фокус
    #39300467
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rikozenit,

Почитайте про область видимости переменных.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / vba фильтр и фокус
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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