Kontextmenüs
Wie ich schon unter Symbolleisten / Menüleisten geschrieben habe gibt es in Access 2007 keinen Editor mehr für Menüleisten / Symbolleisten. Das heißt auch, das Ihnen keinen Editor mehr für Kontextmenüs in Access 2007 zu Verfügung steht.
Sie können die Kontextmenüs aber über VBA und den Commandbars erstellen.
Neu: Bei abiss.de gibt es ein AddIn für kleines Geld in welchem die Kontextmenüs mittels Editor zusammengestellt werden können.
Bug?: In einem Unterformular wird anstatt das eigene Kontextmenü das Standardkontextmenü angezeigt. Beschreibung und Lösung
Beispiele für zwei Kontextmenüs.
Funktion(en) dafür in einem Standardmodul:
Sorgen Sie dafür das die Funktion(en) welche die Kontextmenüs erstellen zum Datenbankstart geladen werden. Dazu bietet sich das Autoexec Makro an.
Option Compare Database
Option Explicit
Public Function CreateCMenu()
On Error Resume Next
CommandBars("MyContext").Delete
Dim cmb As CommandBar
Set cmb = CommandBars.Add("MyContext", _
msoBarPopup, False, False)
With cmb
.Controls.Add msoControlButton, _
21, , , True ' Cut
.Controls.Add msoControlButton, _
19, , , True ' Copy
.Controls.Add msoControlButton, _
22, , , True ' Paste
End With
End Function
Public Function CreateCMenu1()
On Error Resume Next
CommandBars("MyContext1").Delete
Dim cmb As CommandBar
Dim cmbBtn1 As CommandBarButton
Dim cmbBtn2 As CommandBarButton
Dim cmbBtn3 As CommandBarButton
Set cmb = CommandBars.Add("MyContext1", _
msoBarPopup, False, False)
With cmb
Set cmbBtn1 = .Controls.Add(msoControlButton, _
, , , True)
With cmbBtn1
.Caption = "My Button 1"
.OnAction = "=fncOnActionBtn1()"
End With
Set cmbBtn2 = .Controls.Add(msoControlButton, _
, , , True)
With cmbBtn2
.Caption = "My Button 2"
.OnAction = "=fncOnActionBtn2()"
End With
Set cmbBtn3 = .Controls.Add(msoControlButton, _
, , , True)
With cmbBtn3
.Caption = "My Button 3"
.OnAction = "=fncOnActionBtn3()"
.BeginGroup = True
.FaceId = 59
End With
End With
End Function
Public Function fncOnActionBtn1()
MsgBox "Button 1", vbInformation
End Function
Public Function fncOnActionBtn2()
MsgBox "Button 2", vbInformation
End Function
Public Function fncOnActionBtn3()
MsgBox "Button 3", vbInformation
End Function
Sie finden dieses Beispiel auch in der Beispieldatenbank 3
Weiterführenden Links dazu finden Sie dort im Abschnitt Commandbars.

