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.