powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Контекстное меню проблема с .OnAction
25 сообщений из 27, страница 1 из 2
Контекстное меню проблема с .OnAction
    #40000615
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.

Есть контекстное меню. На одну из его ControlButton повешено вот что:
Код: vbnet
1.
.OnAction = "=filter_form('IsNull (note)')"


note - поле таблицы, filter_form - функция в общем модуле. Это работает.

Но мне надо повесить параметр с внутренними кавычками:
Код: vbnet
1.
.OnAction = "=filter_form('note <> 'возвращен' Or IsNull (note)')"



Когда так делаю, начинает ругаться "Задано значение для операции без оператора" и не работает.
Что делать?
...
Рейтинг: 0 / 0
Контекстное меню проблема с .OnAction
    #40000656
Swa111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OkeTurel,

удвойте количество ковычек
...
Рейтинг: 0 / 0
Контекстное меню проблема с .OnAction
    #40000665
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Swa111, не помогло.
...
Рейтинг: 0 / 0
Контекстное меню проблема с .OnAction
    #40000715
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OkeTurel,
и не поможет-должно быть: onAction="Имя ФУНКЦИИ (параметр\ы)" или без параметра-тогда скобки не надо
Код: vbnet
1.
.onAction="myFunc(5)"
...
Рейтинг: 0 / 0
Контекстное меню проблема с .OnAction
    #40000730
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku, filter_form - это и есть имя функции!
А ('note <> 'возвращен' Or IsNull (note)') - это параметры.
...
Рейтинг: 0 / 0
Контекстное меню проблема с .OnAction
    #40000765
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OkeTurel, вся эта конструкция - сплошной кошмар, но уж чтобы она работала попробуйте слово "возвращен" заключить в двойные кавычки дважды: ""возвращен"" . так вы скажете Аксессу что это стринг, а не граница условия.
...
Рейтинг: 0 / 0
Контекстное меню проблема с .OnAction
    #40000839
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alecko, спасибо большое, заработало! Я с этим все выходные пыхтела, но не догадалась. :0)
...
Рейтинг: 0 / 0
Контекстное меню проблема с .OnAction
    #40001224
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OkeTurel
sdku, filter_form - это и есть имя функции!
А ('note <> 'возвращен' Or IsNull (note)') - это параметры.
Ну если это функция,а ('note <> 'возвращен' Or IsNull (note)' её "параметры" (аргумент-независимая переменная, а не выражение)
тогда я английская королева
...
Рейтинг: 0 / 0
Контекстное меню проблема с .OnAction
    #40001226
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вдогонку:а что,по Вашему, должна возвращать эта функция?
...
Рейтинг: 0 / 0
Контекстное меню проблема с .OnAction
    #40001243
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku
OkeTurel
sdku, filter_form - это и есть имя функции!
А ('note <> 'возвращен' Or IsNull (note)') - это параметры.
Ну если это функция,а ('note <> 'возвращен' Or IsNull (note)' её "параметры" (аргумент-независимая переменная, а не выражение)
тогда я английская королева
Это и в самом деле функция, Your Majesty !
Здесь ей передается один аргумент - это строка, имеющая значение "note <> 'возвращен' Or IsNull (note)'".

sdku
вдогонку:а что,по Вашему, должна возвращать эта функция?
У меня тоже везде в меню в OnAction стоит знак равенства.
И при программном создании тоже указываю знак равенства.

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

Я не говорю о знаке равенства. меня интересует:filter_form=??? (true,false или какое-то значение или какой то набор)
...
Рейтинг: 0 / 0
Контекстное меню проблема с .OnAction
    #40001421
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku
Я не говорю о знаке равенства. меня интересует:filter_form=??? (true,false или какое-то значение или какой то набор)
Variant/Empty
...
Рейтинг: 0 / 0
Контекстное меню проблема с .OnAction
    #40001490
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург
..Variant/Empty
А ТС об этом знает/догадывается?
...
Рейтинг: 0 / 0
Контекстное меню проблема с .OnAction
    #40001491
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все решает простой запрос:
...
Рейтинг: 0 / 0
Контекстное меню проблема с .OnAction
    #40001499
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku
А ТС об этом знает/догадывается?
а зачем?
...
Рейтинг: 0 / 0
Контекстное меню проблема с .OnAction
    #40001500
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku
все решает простой запрос:
и чего он решает?
...
Рейтинг: 0 / 0
Контекстное меню проблема с .OnAction
    #40001514
OkeTurel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku, я объясню, конечно.
Эта функция ничего не возвращает, это по сути процедура, а не функция. Но дело в том, что на строку пользовательского контекстное меню нельзя повесить Sub, а можно повесить только Function. Поэтому я сделала это функцией.

Сама по себе она фильтрует записи в формах:
Код: vbnet
1.
2.
3.
4.
Public Function filter_form(filter_criteria As String)
    Screen.ActiveForm.Filter = filter_criteria
    Screen.ActiveForm.FilterOn = True
End Function



filter_criteria - глобальная переменная. При Load некоторых форм (не всех, фильтрация не во всех формах нужна), этой переменной присваивается строка типа "IsNull (note)". Опять же при Load формы в CommandBar добавляется строка "Сохраненные фильтры" с подстрокой:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
    Dim Bar As CommandBar
    Set Bar = CommandBars("Настраиваемая 2")
    Dim NewControl As CommandBarControl
    Set NewControl = Bar.Controls.Add(msoControlPopup, , , 8)
    With NewControl
        .Caption = "Сохраненные фильтры"
    End With

    Dim NewControl1 As CommandBarButton
    Set NewControl1 = NewControl.Controls.Add(Type:=msoControlButton, Temporary:=True)
    With NewControl1
        .Caption = "Зависшие документы"
        .FaceId = 0
        .OnAction = "=filter_form('note <> ""возвращен"" Or IsNull (note)')"
    End With



При Unload формы строка "Сохраненные фильтры" сместе с подстрокой удаляется из контекстного меню.
...
Рейтинг: 0 / 0
Контекстное меню проблема с .OnAction
    #40001583
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург
sdku
все решает простой запрос:
и чего он решает?
SQL такого запроса вполне может быть источником для формы(как я понял ТСу это и нужно)а далее:
Код: vbnet
1.
.OnAction = "my"

и в общем модуле:
Код: vbnet
1.
2.
3.
Function my()
DoCmd.OpenForm "formName" ' или запрос,отчет
End Function
...
Рейтинг: 0 / 0
Контекстное меню проблема с .OnAction
    #40001588
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вдогонку:гляньте это (form1)
...
Рейтинг: 0 / 0
Контекстное меню проблема с .OnAction
    #40001589
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku, хватит фантазий, по моему OkeTurel объяснила всё тебе
...
Рейтинг: 0 / 0
Контекстное меню проблема с .OnAction
    #40001598
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OkeTurel
...
filter_criteria - глобальная переменная. При Load некоторых форм (не всех, фильтрация не во всех формах нужна)...
А кто\что мешает менять RecordSource формы в зависимости от выбора пункта\кнопки меню
Между фантазиями и рациональным решением нет ничего общего
...
Рейтинг: 0 / 0
Контекстное меню проблема с .OnAction
    #40001602
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.
...
Рейтинг: 0 / 0
Контекстное меню проблема с .OnAction
    #40001605
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku, контекстное меню это по сути тот же риббон, функции работают также, даже иконки берутся там-же, просто оформлено по другому.
...
Рейтинг: 0 / 0
Контекстное меню проблема с .OnAction
    #40001626
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku
Между фантазиями и рациональным решением нет ничего общего
вот как раз рационального у тебя я не заметил.
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Контекстное меню проблема с .OnAction
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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