3.3k Aufrufe
Gefragt in Datenbanken von
Hallo alle zusammen,

ich sitze schon seit Tagen an dem Problem, dass ich sämtliche Menüleisten in meiner DB für die späteren Nutzer ausblenden will. Habe dazu schon einige Beiträge gelesen aber bis her hat nichts funktioniert. Als Anmerkung noch, ich arbeite mit Access 2010.
Einen Code, den ich versucht habe, führt immer zu einer Fehlermeldung: Fehler beim kompilieren. Benutzdefinierter Typ nicht definiert.

Mein Code:

Private Function HideCommandBars(bHide As Boolean, bExceptMenuBar As Boolean)
Dim cmdb As CommandBar
On Error Resume Next
For Each cmdb In Application.CommandBars
cmdb.Protection = msoBarNoProtection
cmdb.Visible = Not bHide
Next cmdb
Application.CommandBars("Menu Bar").Enabled = bExceptMenuBar
End Function

Private Sub Form_Open(Cancel As Integer)
HideCommandBars True, False
End Sub

Ich habe auch schon viele andere Wege ausprobiert, bei denen entweder gar nichts passiert ist oder sich meine DB nicht mehr öffnen ließ (habe zum Glück immer eine Sicherungskopie). Habe auch den Verweiß zur Object Libary aktiviert.

Wenn mir jemand helfen könnte (mit detaillierter Anleitung, da ich Access Neuling bin), wäre super.

Gruß Kev

2 Antworten

0 Punkte
Beantwortet von marie Experte (2k Punkte)
Der Verweis zu: Microsoft Office 14.0 Object Library bei den Verweisen wäre jetzt auch mein Rat gewesen.

Bitte lass mal im Einzelschritt durchlaufen und schau an welcher Stelle der Fehler kommt. Ich kann es gerade nicht ausprobieren.


social.msdn.microsoft.com/Forums/de/accessde/thread/08a88e9c-7e8c-4c36-8c97-cdfdd62fbeb6 schau mal hier, da ist offensichtlich eine Lösung die nur für Access 2010 gültig ist.

Gruß Marie
0 Punkte
Beantwortet von marie Experte (2k Punkte)
Oder Probier mal das hier:
Um die Menüs auszublenden kannst Du folgenden Code in ein Startformular einfügen:


Option Explicit

Private Const SW_HIDE = 0 ' setzen von 1 hier
Private Const SW_NORMAL = 1 ' und 0 hier sind die Menüs wieder eingeschaltet
Private Const SW_SHOWMINIMIZED = 2

Private Declare Function ShowWindow Lib "user32" _
(ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Private Sub Form_Open(Cancel As Integer)
Call ShowWindow(Application.hWndAccessApp, SW_HIDE)
Call ShowWindow(Me.hwnd, SW_NORMAL)
End Sub

...