powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / контекстное меню - серверный фильтр для проектов ADP
25 сообщений из 28, страница 1 из 2
контекстное меню - серверный фильтр для проектов ADP
    #32446027
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хочу сделать вместо стандартного универсальное меню

- Серверный фильтр по выделенному
- удалить серверный фильтр
- Серверная сортировка

сделал процедурку для контролов текстбокс, уже работает
надо бы сделать для комбобоксов и чекбоксов (пока обдумываю)

разумеется за сключением форм основанных на хранимых процедурах


Процедура для контекстного меню серверный фильтр по выделенному
Код: plaintext
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.
Public Sub Set_Server_filter_By_Selection()
'Процедура вызывается из контекстного меню'
Dim ctl As Access.Control
Dim sf
Dim frm, findtext
Set ctl = Screen.ActiveControl
Set frm = ctl.Parent
If ctl.ControlType =  109  Then
    'Текстбокс'
    If ctl.SelText =  "" Then Exit Sub
        findtext = Replace(ctl.SelText, " '", "''", , , vbTextCompare)
        findtext = Replace(findtext, Chr(34), "' + char( 34 ) + '", , , vbTextCompare)
        If ctl.SelText = ctl.Text Then
            sf = ctl.ControlSource & " = ' " & findtext & " '"
        Else
            sf = ctl.ControlSource & " like  '% " & findtext & " %' "
    
    End If
    
End If
If Trim(frm.ServerFilter) = "  " Or IsNull(frm.ServerFilter) Then
    frm.ServerFilter = sf
Else
    frm.ServerFilter = frm.ServerFilter & "  AND " & sf
End If
frm.RecordSource = frm.RecordSource

End Sub


Хотелось бы узнать у знатоков работы с контекстными меню
какими бы способами воспользоваться (событие показ контекстного меню )
чтобы задать свойство enabled для контролов в том случае если по полю нельзя делать фильтр (контролы форм основанные на вычисляемых значениях =Функция())
...
Рейтинг: 0 / 0
контекстное меню - серверный фильтр для проектов ADP
    #32446046
Queen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может и не в кассу , Я пользуюсь вот этим

Application.CommandBars("MenuMotionScore").Controls _
("Тама").Enabled = True

Правда ситуацию генерирую самостоятельно
...
Рейтинг: 0 / 0
контекстное меню - серверный фильтр для проектов ADP
    #32446052
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это то понятно,
а вот на какое событие контекстного меню такой код вставить
(наверное это можно сделать модулем класса но я пока недопираю как именно)
...
Рейтинг: 0 / 0
контекстное меню - серверный фильтр для проектов ADP
    #32446059
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
гадство
у командбара только onupdate
а у контрола только клик

нету события показ ....
...
Рейтинг: 0 / 0
контекстное меню - серверный фильтр для проектов ADP
    #32446135
Помнится мне (читал где-то относительно недавно), что у стандартного механизма вывода контекстных меню масса ограничений, не позволяющих использовать их по-настоящему гибко, но там предлагалось взамен самостоятельно по событию right-click выводить свою pop-up форму, это самое меню имитирующее... Боюсь, это слишком трудоёмкий способ. Но если вдруг окажется, что другого варианта и нет...
...
Рейтинг: 0 / 0
контекстное меню - серверный фильтр для проектов ADP
    #32446168
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторпо событию right-click выводить свою pop-up форму, это самое меню имитирующее...
Зато сколько возможностей!
А это меню встроенное - неспортивно как-то
...
Рейтинг: 0 / 0
контекстное меню - серверный фильтр для проектов ADP
    #32446321
А, может, проще сделать? Не настраивать свойство ShortcutMenuBar контрола, а обрабатывать событие MouseDown для правой кнопки мыши, и при этом самому выводить подготовленное должным образом обычное контекстное меню? С помощью метода ShowPopup, а?

А то я попробовал поискать примеры и того, о чём говорил, не нашёл... лишь вот это:

http://support.microsoft.com/default.aspx?scid=kb;en-us;210093&Product=acc][Q210093]ACC2000: How to Create Floating Pop-Up Menus

Но это как-то, кажется, примитивно...
...
Рейтинг: 0 / 0
контекстное меню - серверный фильтр для проектов ADP
    #32446497
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 АлексейК
Как уже сказали, событий именно у контролов меню с гулькин фиг, а именно одно - клик. Поэтому делаем универсальное меню с нужными пунктами, потом пишем функцию, которая будет вызываться по событию MouseDown контрола, в функцию можно передавать форму и контрол - в этой функции анализировать что угодно на этой форме и контроле, также смотреть, какая кнопка мыши была нажата - и делать своё черное дело с меню...
...
Рейтинг: 0 / 0
контекстное меню - серверный фильтр для проектов ADP
    #32446574
e_basil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. в .mdb проблемы серверного фильтра по форме нет - делаешь запрос к серверу и поключаешь его к форме. все фильтры работают как и в файл-сервере
2. конт. меню строю так
есть одно большое меню для ленточно-табличных форм со всеми возможными пунктами.
при загрузке формы запускается функция:

Код: plaintext
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.
Function ArPopUp(jrn_id As Long) As Variant
    'jrn_id = ID соответствующего журнала или справочника'
    Dim ctl As CommandBarControl
    Dim i As Integer

    Select Case jrn_id
        Case  0       'для отладки  (выводит все меню)'
            With CommandBars( "mnJournSales" )
                For i =  1  To  29 
                   .Controls(i).Visible = True
                Next
            End With
            Exit Function
        Case  1 
            ArPopUp = VBA.Array( 1 ,  2 ,  4 ,  5 ,  8 ,  13 ,  14 ,  20 ,  21 ,  22 ,  23 ,  24 ,  25 ,  26 ,  27 ,  28 ,  29 )
        Case  11      'lstCustomers'
            ArPopUp = VBA.Array( 1 ,  5 ,  8 ,  14 ,  28 )
        Case  2 
            ArPopUp = VBA.Array( 1 ,  2 ,  4 ,  5 ,  8 ,  13 ,  14 ,  15 ,  16 ,  20 ,  21 ,  22 ,  23 ,  24 ,  25 ,  27 ,  28 ,  29 )
        Case  3 
            ArPopUp = VBA.Array( 2 ,  4 ,  5 ,  8 ,  9 ,  11 ,  12 ,  13 ,  14 ,  17 ,  18 ,  19 ,  21 ,  22 ,  23 ,  24 ,  25 ,  26 ,  27 ,  28 ,  29 )
        Case  6 
            ArPopUp = VBA.Array( 2 ,  4 ,  5 ,  8 ,  10 ,  11 ,  13 ,  14 ,  17 ,  18 ,  21 ,  22 ,  23 ,  24 ,  25 ,  26 ,  27 ,  28 ,  29 )
        Case  9 
            ArPopUp = VBA.Array( 3 ,  4 ,  5 ,  8 ,  11 ,  13 ,  14 ,  17 ,  18 ,  21 ,  22 ,  23 ,  24 ,  25 ,  27 ,  28 ,  29 )
        Case  18 
            ArPopUp = VBA.Array( 5 ,  6 ,  8 ,  13 ,  14 ,  17 ,  18 ,  21 ,  22 ,  23 ,  24 ,  25 ,  27 ,  28 ,  29 )
        Case  19 
            ArPopUp = VBA.Array( 5 ,  6 ,  8 ,  13 ,  14 ,  18 ,  21 ,  22 ,  23 ,  24 ,  25 ,  27 ,  28 ,  29 )
        Case  12 ,  16 
            ArPopUp = VBA.Array( 2 ,  5 ,  8 ,  14 ,  21 ,  22 ,  23 ,  24 ,  27 ,  28 ,  29 )
        Case  13 ,  17 ,  20 ,  23 ,  32 ,  34 ,  37 ,  38 
            ArPopUp = VBA.Array( 2 ,  5 ,  8 ,  14 ,  21 ,  22 ,  23 ,  24 ,  26 ,  27 ,  28 ,  29 )
        Case  21 
            ArPopUp = VBA.Array( 2 ,  5 ,  8 ,  14 ,  28 ,  29 )
        Case  22 
            ArPopUp = VBA.Array( 2 ,  5 ,  13 ,  14 ,  18 ,  21 ,  22 ,  23 ,  24 ,  25 ,  27 ,  28 ,  29 )
        Case  25 
            ArPopUp = VBA.Array( 1 ,  2 ,  5 ,  8 ,  13 ,  14 ,  20 ,  21 ,  22 ,  23 ,  24 ,  25 ,  27 ,  28 ,  29 )
        Case  27 
            ArPopUp = VBA.Array( 1 ,  2 ,  4 ,  5 ,  8 ,  14 ,  15 ,  20 ,  21 ,  22 ,  23 ,  24 ,  25 ,  26 ,  27 ,  28 ,  29 )
        Case  28 
            ArPopUp = VBA.Array( 13 ,  14 ,  15 ,  21 ,  22 ,  23 ,  24 ,  25 ,  27 ,  28 ,  29 )
        Case  29 ,  31 
            ArPopUp = VBA.Array( 2 ,  5 ,  14 ,  28 ,  29 )
        Case  33 
            ArPopUp = VBA.Array( 5 ,  23 ,  24 ,  26 ,  27 ,  28 )
        Case  35 ,  36 
            ArPopUp = VBA.Array( 2 ,  5 ,  8 ,  14 ,  21 ,  22 ,  23 ,  24 ,  26 ,  27 ,  28 ,  29 )
    End Select
    With CommandBars( "mnJournSales" )
        For i =  1  To  29 
           .Controls(i).Visible = False
        Next
    End With
End Function

на выходе - массив элементов меню, которые следует показать для данной формы, который хранится в переменной модуля формы
на событие контрола формы MouseDown вешаем функцию

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Private Function W_conMenu()
    Dim ctl As CommandBarControl
    Dim i As Integer
    With CommandBars( "mnJournSales" )
        For i =  1  To  29 
           .Controls(i).Visible = False
        Next
        For i =  0  To UBound(ArConMen)
            With .Controls(ArConMen(i))
                 .Visible = True
                 .Enabled = True
            End With
        Next
        .Controls( 8 ).Enabled = Not Nz(Me!beService,  0 )
        .Controls( 19 ).Enabled = Not Nz(Me!beService,  0 )
    End With

End Function

которая открывает нужные пункты меню, читая массив
можно добавить в функцию аргументы, которые будут управлять поведением элементов меню в зав-сти от конкретного контрола

вся система очень легко настраивается, легко добавляются и убираются пункты меню и т.д.
...
Рейтинг: 0 / 0
контекстное меню - серверный фильтр для проектов ADP
    #32446577
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня используется аксесс 2002 поэтому все эти навороты не нужны
сейчас оформил меню с событиями в виде класса, а открытие по правой кнопке мыши на контроле.

есть две неприятности - прописывать надо для каждого контрола
почему -то события происходят дважды при нажатии на одну из кнопок

класс-модуль
CMD_BARS

Код: plaintext
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.
Public CMD_BAR
Public WithEvents CBUTTON1 As Office.CommandBarButton
Public WithEvents CBUTTON2 As Office.CommandBarButton

Private Sub CBUTTON1_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
MsgBox  "Нажато Серверный фильтр по выделенному" 
CancelDefault = True
Call Set_Server_filter_By_Selection
End Sub

Private Sub CBUTTON2_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
MsgBox  "Нажато Удалить Серверный фильтр" 
CancelDefault = True
Call clear_Server_filter
End Sub

Private Sub Class_Initialize()
Set CMD_BAR = CommandBars( "adp_filter_cm" )
Set CBUTTON1 = CMD_BAR.Controls( "серверный фильтр по выделенному" )
Set CBUTTON2 = CMD_BAR.Controls( "Удалить серверный фильтр" )
CMD_BAR.ShowPopup
End Sub

Private Sub Class_Terminate()
Set CBUTTON1 = Nothing
Set CBUTTON2 = Nothing
Set CMD_BAR = Nothing
End Sub
Private Sub Set_Server_filter_By_Selection()
Dim ctl As Access.Control
Dim sf
Dim frm, findtext
Set ctl = Screen.ActiveControl
Set frm = ctl.Parent
If ctl.ControlType =  109  Then
    'Текстбокс
    If ctl.SelText = "" Then Exit Sub
        findtext = Replace(ctl.SelText, "' ", " '' ", , , vbTextCompare)
        findtext = Replace(findtext, Chr(34 ), "' + char(34) + ' ", , , vbTextCompare)
        If ctl.SelText = ctl.Text Then
            sf = ctl.ControlSource & "  = '" & findtext & "' "
        Else
'            sf = ctl.ControlSource & " like  '%"  & findtext &  "' and " & _
'            ctl.ControlSource & "  like  '" & findtext & "%' "
            sf = ctl.ControlSource & "  like  '%" & findtext & "%' "
    
    End If
    
End If
If Trim(frm.ServerFilter) = "  " Or IsNull(frm.ServerFilter) Then
    frm.ServerFilter = sf
Else
    
    If sf <> "  " Then frm.ServerFilter = frm.ServerFilter & "  AND  " & sf
End If

frm.RecordSource = frm.RecordSource

End Sub
Private Sub clear_Server_filter()
Dim ctl As Access.Control
Dim frm
Set ctl = Screen.ActiveControl
Set frm = ctl.Parent
frm.ServerFilter = " "
frm.RecordSource = frm.RecordSource
End Sub


вызов из формы:
Код: plaintext
1.
2.
3.
Private Sub id_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <>  2  Then Exit Sub
Set Cbar = New CMD_BARS
End Sub
в форме стоит свойство контекстные меню = false

почему и как сделать лучше?

- прописывать надо для каждого контрола
- события происходят дважды при нажатии на одну из кнопок
...
Рейтинг: 0 / 0
контекстное меню - серверный фильтр для проектов ADP
    #32446596
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
опс, пока писал появилось еще несколько топиков

неувязочка вышла:
у меня используется аксесс 2002 поэтому все эти навороты не нужны
по поводу ссылки тимура относительно вызова showpopup через апи
...
Рейтинг: 0 / 0
контекстное меню - серверный фильтр для проектов ADP
    #32446633
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторпо событию right-click выводить свою pop-up форму, это самое меню имитирующее

новая идея, видимо которая не будет давать мне спать долгое время.
точно, нужно сделать всплывающее меню так как сделали в всплывающем датепикере. возможности будут любые ...

2 e_basil
это уже 3 решение относительно организации контекстных меню в проекте .

2 Hummer
да вроде так и делаю (твоя школа )) )
...
Рейтинг: 0 / 0
контекстное меню - серверный фильтр для проектов ADP
    #32446691
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
от двойной сработки событий спас такой вызов:

Private Sub id_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <> 2 Then Exit Sub
Set Cbar = New CMD_BARS
Set Cbar = Nothing
End Sub
почему так и не понял
...
Рейтинг: 0 / 0
контекстное меню - серверный фильтр для проектов ADP
    #32446697
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 e_basil
Крайне не универсальное решение - требует правки функции ArPopUp каждый раз, когда мне нужно добавить новый пункт меню или организовать новый журнал.
От контекстных меню проект не пухнет, а вот иметь одно ОГРОМНОЕ контекстное меню для всех форм крайне не разумно, особенно если их много.
У нас меню описываются в табличках и устанавливается привязка к форме - для каждой формы своё меню (или одинаковое для форм одного типа, если формы одинаковы по сути - например, результат поиска предполагает только открытие формы с объектом поиска, добавление, удаление объекта- меню одно) - при загрузке формы оно может быть построено заново...
Примерынй способ реализации изложен на странице Алексея Козина.

2 АлексейК
Для универсальности класса я бы не обращался к методам Screen, а передавал бы в класс форму и контрол. А так вроде всё пучком:)
...
Рейтинг: 0 / 0
контекстное меню - серверный фильтр для проектов ADP
    #32446750
e_basil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Hummer
в таблице я прописываю построение toolbar-ов для форм. Настройка меню через таблицу или путем правки функции занимает примерно одинаково времени, в функции - меньше.
Одно меню для всех табличных форм удобно еще тем, что новая форма создается по шаблону, в котором уже записано конменю в сойстве, и все что надо изменить в форме - ID журнала. Команды унифицированы и вызывают функции нужного класса (активной формы), поэтому количество пунктов меню не большое (у меня 29) для всего проекта (в проекте только табличных форм около 40)
получается одно меню (даже большое) vs 40 меню
...
Рейтинг: 0 / 0
контекстное меню - серверный фильтр для проектов ADP
    #32446764
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Объясняю ещё раз.
У меня аде на всех клиентах - поправил функцию, пересобрал проект и не один (система состоит из 18 библиотек - аде файлов). Одинаковое время будет - ну-ну:)
Мне абсолютно всё равно, сколько у меня будет контекстных меню - они декларативно описаны и добавление в них контролов осуществляется через интерфейс - потом меню строится динамически для каждой формы при её загрузке. Отлично себе представил меню с более чем 1000 контролов:)
И массивчик с циклом:)
Этот подход не подходит для крупных систем, вот и всё, что я хочу сказать на самом деле.
...
Рейтинг: 0 / 0
контекстное меню - серверный фильтр для проектов ADP
    #32446816
АлексейК:

Алексей, поясни, пожалуйста, что вот под этим

АлексейК- прописывать надо для каждого контрола

в точности подразумевалось? Что хочется избавиться от необходимости прицеплять к каждому полю в форме обработчик события MouseDown? Или иное? А то у меня есть решение, но не уверен, к той ли оно задаче.
...
Рейтинг: 0 / 0
контекстное меню - серверный фильтр для проектов ADP
    #32446823
e_basil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошему предела нет, главное правильно выбрать то, что целесообразно для конкретного проекта
...
Рейтинг: 0 / 0
контекстное меню - серверный фильтр для проектов ADP
    #32446901
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Тимур Рахимов

да, приходится прописывать на событие каждого контрола :

Private Sub id_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button <> 2 Then Exit Sub
Set Cbar = New CMD_BARS
Set Cbar = Nothing
End Sub

так как нужно отслеживать что нажата именно 2 кнопка мыши то имя макроса / функции вместо процедуры обработки событий не прицепить (по крайней мере я не знаю как)

если есть решение - то неплохо бы
...
Рейтинг: 0 / 0
контекстное меню - серверный фильтр для проектов ADP
    #32447047
Это решение продумывалось и тестировалось мной в различных вариантах, одним из которых будет, например, такой:

Создаём класс, объект которого будет создаваться как "тень" каждого контрола (точнее, поскольку объект типа Access.Control не поддерживает события, нужно будет для каждого вида контролов создавать свою разновидность такого класса, но это незначительное неудобство).

Важнейшей особенностью этого класса является наличие внутри него переменной типа Access.CommandButton, Access.TextBox, Access.Combobox и т. п., объявленной WithEvents. Также внутри этого класса создаётся обработчик нужного события для соответствующего контрола - тот код, ради которого, собственно говоря, мы городим этот "огород".

При старте формы (я использую для этого событие Open), специальная процедура пробегает по всем контролам формы и, определяя по префиксу имени либо содержимому свойства Tag (или каким-либо другим признакам), что к конкретному контролу нужно присоединить определённый обработчик нужного события, создаёт объект вышеописанного класса и присваивает соответствующему его свойству ссылку на текущий контрол. Затем объект этого класса добавляется в коллекцию, объявленную на уровне формы.

Вчерне это все. Задача в целом решена. Реально же я сделал ещё более сложную вещь - я создал аналогичный "теневой" класс для формы, чтобы не писать для каждой формы вышеописанный обработчик события Load и вручную не объявлять необходимые переменные в форме. Реально я объявляю в форме только одну переменную типа "теневого" класса формы и присваиваю его свойству ссылку на форму в событии Open. Весь остальной код сидит в моих классах и написан единожды (его нет необходимости копировать из формы в форму).

Должен, правда предупредить, что отладка всего этого в Access 2000 была неэлементарна - если не предпринять определённых ухищрений, при применении такой схемы обработки событий в форме Access рушится при закрытии формы (эта ошибка документирована в MS KB, но удовлетворительного способа обхода там не предложено; пришлось изощряться самому).
...
Рейтинг: 0 / 0
контекстное меню - серверный фильтр для проектов ADP
    #32447065
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
изврат конечно , но мысль хорошая.
...
Рейтинг: 0 / 0
контекстное меню - серверный фильтр для проектов ADP
    #32447083
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 АлексейК
Для всех контролов на мой взгляд проще программно вставить кусок кода в модуль формы один раз и всё...
...
Рейтинг: 0 / 0
контекстное меню - серверный фильтр для проектов ADP
    #32447124
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Hummer

можно, конечно но некрасиво и неуниверсально.

вот что надумал:

выделить несколько контролов
написать в событии моусдовн =MDOWN()

в форме или паблик - модуле

Public Function MDOWN()
....
End Function


тока пока не знаю как определить какая нажата кнопка мыши в этом случае,
наверное нужно будет апи
...
Рейтинг: 0 / 0
контекстное меню - серверный фильтр для проектов ADP
    #32447188
e_basil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в моем случае так исделано
в конструкторе
в событии моусдаун стоит =W_conMenu()
в контекстное меню стоит mnJournSales
аксесс выполнит W_conMenu а потом сам знает какя кнопка нажата, выводить меню или нет
...
Рейтинг: 0 / 0
контекстное меню - серверный фильтр для проектов ADP
    #32447359
А что, мне кажется, что
e_basilв конструкторе
в событии моусдаун стоит =W_conMenu()
в контекстное меню стоит mnJournSales
аксесс выполнит W_conMenu а потом сам знает какя кнопка нажата, выводить меню или нет
для конкретного случая является самым изящным решением.
...
Рейтинг: 0 / 0
25 сообщений из 28, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / контекстное меню - серверный фильтр для проектов ADP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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