powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Народ, а как в VBA в форме фильтр задать?
25 сообщений из 26, страница 1 из 2
Народ, а как в VBA в форме фильтр задать?
    #32204768
Перец
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ, а как в VBA в форме фильтр задать?
...
Рейтинг: 0 / 0
Народ, а как в VBA в форме фильтр задать?
    #32204859
Nick987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Me.Filter = "Country = 'USA'"
Me.FilterOn = True
...
Рейтинг: 0 / 0
Народ, а как в VBA в форме фильтр задать?
    #32204863
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sub applyFilter()
Me.filter="условие для фильтра"
Me.filteron=true
end sub
Вроде
...
Рейтинг: 0 / 0
Народ, а как в VBA в форме фильтр задать?
    #32206709
Перец
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня тут есть поле, в котором вводится дата. Фильтр задается по этому полю. Вопрос в следующем... Если поле пустое, то фильтр надо убрать. Пишу следующее:
Код: plaintext
1.
2.
3.
4.
5.
   If [Forms]![Form1]![FilterDate] =  "" Then
Me.FilterOn = False
 Else 
Me.Filter = " Date=[Forms]![Form1]![FilterDate]"
Me.FilterOn = True
End If

Не работает...
...
Рейтинг: 0 / 0
Народ, а как в VBA в форме фильтр задать?
    #32206734
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вместо Me.Filter = "Date=[Forms]![Form1]![FilterDate]"

надо
Me.Filter = "Date=#" & [Forms]![Form1]![FilterDate] & "#"
...
Рейтинг: 0 / 0
Народ, а как в VBA в форме фильтр задать?
    #32206742
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
маленькая деталь:

Me.Filter = "Date=#" & format( [Forms]![Form1]![FilterDate ],"mm/dd/yy") & "#"
...
Рейтинг: 0 / 0
Народ, а как в VBA в форме фильтр задать?
    #32206821
Перец
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не, мужики, итак фильтр работал. А вот если я в поле фильтра все убираю, то вместо того, чтобы показать мне все записи, вообще ни одной не выдает :(
...
Рейтинг: 0 / 0
Народ, а как в VBA в форме фильтр задать?
    #32206945
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значит там не "", а что-то другое, null например, а программа идет по старой ветке, где фильтр применяется...
...
Рейтинг: 0 / 0
Народ, а как в VBA в форме фильтр задать?
    #32207235
rootadmin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
во-во.
посмотри отладчиком что там.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Народ, а как в VBA в форме фильтр задать?
    #32781203
Isengrim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как написать составной фильтр?
К примеру что-то такое (Аксес ругается, но смысл понятен):
MyFrm.Filter = "country='USA'" + "year='1990'"
MyFrm.FilterOn = True
Т.е. чтобы фильтрация была по двум/нескольким условиям.
...
Рейтинг: 0 / 0
Народ, а как в VBA в форме фильтр задать?
    #32781204
AlTis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Isengrim
AND OR
...
Рейтинг: 0 / 0
Народ, а как в VBA в форме фильтр задать?
    #32781207
Isengrim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MyFrm.Filter = "country='USA'" AND "year='1990'"
MyFrm.FilterOn = True

выдает type mismatch
...
Рейтинг: 0 / 0
Народ, а как в VBA в форме фильтр задать?
    #32781211
AlTis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MyFrm.Filter = "country='USA' AND year=1990"
...
Рейтинг: 0 / 0
Народ, а как в VBA в форме фильтр задать?
    #32781212
Isengrim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А в этом случае Run-time error '2001': предыдущая перация была прервана пользователем.
...
Рейтинг: 0 / 0
Народ, а как в VBA в форме фильтр задать?
    #32781215
Isengrim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотя, стоп, все правильно. Ошибка найдена и устранена.
AITis, огромное спасибо!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Народ, а как в VBA в форме фильтр задать?
    #39438514
Фотография Rikozenit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем доброго утра!
Подскажите пожалуйста, можно ли пойти следующим путём:
В форме я создал дополнительное поле Ф_на_дату (которого нет в таблице, на которую строится форма) и хочу в него вносить какие-либо даты, чтобы весь столбец с датами (на_дату) фильтровался по этому полю.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Private Sub Ф_на_дату_Change()
On Error GoTo KeyDownERR
Me.Filter = "[на_дату]=[Ф_на_дату]"
Me.FilterOn = True
Me.Requery
Me.Refresh
KeyDownERR:
    KeyCode = 0
    Err.Clear
End Sub
...
Рейтинг: 0 / 0
Народ, а как в VBA в форме фильтр задать?
    #39438564
Можно, но:
1. событие не Change, а AfterUpdate.
2. Me.Requery и Me.Refresh - лишние
3. Причем здесь KeyCode?
...
Рейтинг: 0 / 0
Народ, а как в VBA в форме фильтр задать?
    #39438592
Фотография Rikozenit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий ( Киев ),
keyCode чтобы ошибки не выскакивали.
Всё дело в том, что к сожалению этот скрипт, не работает:

Код: vbnet
1.
2.
3.
4.
Private Sub Ф_на_дату_AfterUpdate()
Me.Filter = "[на_дату]=[Ф_на_дату]"
Me.FilterOn = True
End Sub
...
Рейтинг: 0 / 0
Народ, а как в VBA в форме фильтр задать?
    #39438596
-SWAN-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Rikozenit,
Код: sql
1.
2.
3.
4.
Private Sub Ф_на_дату_AfterUpdate()
Me.Filter = "[на_дату]=" & Ф_на_дату
Me.FilterOn = True
End Sub
...
Рейтинг: 0 / 0
Народ, а как в VBA в форме фильтр задать?
    #39438610
Фотография Rikozenit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-SWAN-, не работает(
...
Рейтинг: 0 / 0
Народ, а как в VBA в форме фильтр задать?
    #39438612
-SWAN-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Rikozenit, попробуй так:
Код: sql
1.
2.
3.
4.
Private Sub Ф_на_дату_AfterUpdate()
Me.Filter = "clng([на_дату])=" & clng(Ф_на_дату)
Me.FilterOn = True
End Sub
...
Рейтинг: 0 / 0
Народ, а как в VBA в форме фильтр задать?
    #39438615
Фотография Rikozenit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-SWAN-, Заработало!!! Спасибо большущее!
...
Рейтинг: 0 / 0
Народ, а как в VBA в форме фильтр задать?
    #39438626
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rikozenit,

Код: vbnet
1.
Me.Filter = "[на_дату]=" & Format(Ф_на_дату,"\#mm\/dd\/yyyy\#")
...
Рейтинг: 0 / 0
Народ, а как в VBA в форме фильтр задать?
    #39438628
Rikozenit-SWAN-, Заработало!!! Спасибо большущее!
Код: vbnet
1.
Me.Filter = "clng([на_дату])=" & clng(Ф_на_дату)

Это - костыль, и на большом массиве работает гораздо медленнее.
Правильное решение:
Код: vbnet
1.
Me.Filter = "[на_дату]=" & Format([Ф_на_дату], "\#MM\/DD\/YYYY\#")
...
Рейтинг: 0 / 0
Народ, а как в VBA в форме фильтр задать?
    #39438632
-SWAN-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Анатолий ( Киев ), не спорю)
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Народ, а как в VBA в форме фильтр задать?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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