Moin! Ich nutze Access 2016 und erstelle damit eine ACCDE Datei, die von meinen Kollegen benutzt werden soll, die allesamt Access 2013 benutzen. Das klappt soweit auch fast reibungslos.
Aber bei den Kontextmenüs / CommandBar gibt es Probleme, wenn ich benutzerdefinierte Befehle / Makros ausführen möchte, bzw. Funktionen aufrufen möchte, gibt es unter Access 2013 eine Fehlermeldung, nämlich:
"Der von Ihnen eingegebene Ausdruck enthält den Namen einer Funktion, die von Access nicht gefunden werden kann"
Das Problem tritt bei mir unter Access 2016 NICHT auf und nur bei den Kollegen mit Access 2013. Meine Funktion, die aus dem Kontextmenü aufgerufen wird, ist als Public Function deklariert, der Code, mit dem beim Start das Kontextmenüs erstellt wird, ist:
Sub CreateShortcutMenu1()
Dim cmbRightClick As Office.CommandBar
Dim cmbControl As Office.CommandBarControl
Dim iconpfad As String
iconpfad = DBPfad + "tools\icons\"
' Create the shortcut menu.
Set cmbRightClick = CommandBars.Add("cmdFormArtikel", msoBarPopup, False, True)
With cmbRightClick
'Zur Bst hinzufügen..deutsch
Set cmbControl = .Controls.Add(msoControlButton, 109, , , True)
cmbControl.BeginGroup = True
cmbControl.Caption = "Zur Bestellung hinzufügen"
cmbControl.OnAction = "=AddBestell(1)"
cmbControl.Picture = LoadPicture(iconpfad + "german_flag2.bmp")
End With
Set cmbControl = Nothing
Set cmbRightClick = Nothing
Hat jemand eine Idee? VG und Danke!
Hallo,
entweder die App wird mit 2013 entwickelt und in eine accde-Datei konvertiert oder
die auf den User-Rechnern wird die Ac2016-Runtime (zusätzlich) installiert.
Hi,
ich würde mal darüber nachdenken, ob die Erstellung des Kontextmenüs nicht anders gelöst werden kann, dann brauchst du den Verweis auf die Office-Bibliothek nicht, der in einer accde nicht dynamisch angepasst werden kann.