Supportnet / Forum / Datenbanken
Access-Symbolleiste mit VBA-Makro
Frage
Hi
Weiß jemand wie ich in Access eine Symbolleiste mit einem VBA-Makro bestücken kann? Ich kann irgendwie nur die Makros aus dem Datenbankfenster->Makros zur Symbolleiste hinzufügen.
Antwort 1 von Da.Dub
Hat keiner ´ne Idee
Ich benutze Access 2003
Ich benutze Access 2003
Antwort 2 von Da.Dub
Also ich habe für dieses Prob keine direkte Lösung gefunden aber wen´s interessiert:
Ich habe es mit einem normalen Access- Makro gelöst, in welchem über den Befehl "AusführenCode" die entsprechende VBA-Function aufgerufen wird.
Nicht die schönste aber eine funktionierende Lösung.
Falls doch noch jemand eine Lösung hat, würde mich diese trotzdem interessieren.
Ich habe es mit einem normalen Access- Makro gelöst, in welchem über den Befehl "AusführenCode" die entsprechende VBA-Function aufgerufen wird.
Nicht die schönste aber eine funktionierende Lösung.
Falls doch noch jemand eine Lösung hat, würde mich diese trotzdem interessieren.
Antwort 3 von gaga17ß351
1. Lösung
Man kann die Funktion, die über "Ausführen Code" mit einem Makro ausgeführt werden soll, direkt in die Steuelementeigenschaften des Commandbuttons eingeben:
=Funktionsname()
2. Lösung
Wenn der Commandbar einem Formular zugeordnet wird (im Entwurfsmodus für das Formular in der Eigenschaft ´Symbolleiste´) , läßt sich für jeden Commandbutton eine Sub im Formularmodul definieren.
a) jeden Commandbutton mit With Events deklarieren:
Private WithEvents btn1 As Office.CommandBarButton
Private WithEvents btn2 As Office.CommandBarButton
Private WithEvents btn3 As Office.CommandBarButton
b) Im Ereignis Load des Formulars:
Private Sub Form_Load()
Dim cob As Office.CommandBar
Set cob = CommandBars(Me.Toolbar)
With cob
Set btn1 = .Controls(1)
Set btn2 = .Controls(2)
Set btn3 = .Controls(3)
End With
End Sub
c) Für jeden Button eine eigene Sub:
Private Sub btn1_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
.... irgendeine Programmierung
End Sub
Private Sub btn2_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
.... irgendeine Programmierung
End Sub
Private Sub btn1_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
.... irgendeine Programmierung
End Sub
Private Sub btn3_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
.... irgendeine Programmierung
End Sub
Voraussetzung für diese Vorgehensweise ist ein Verweis auf die MS Office Library
Viel Glück
Man kann die Funktion, die über "Ausführen Code" mit einem Makro ausgeführt werden soll, direkt in die Steuelementeigenschaften des Commandbuttons eingeben:
=Funktionsname()
2. Lösung
Wenn der Commandbar einem Formular zugeordnet wird (im Entwurfsmodus für das Formular in der Eigenschaft ´Symbolleiste´) , läßt sich für jeden Commandbutton eine Sub im Formularmodul definieren.
a) jeden Commandbutton mit With Events deklarieren:
Private WithEvents btn1 As Office.CommandBarButton
Private WithEvents btn2 As Office.CommandBarButton
Private WithEvents btn3 As Office.CommandBarButton
b) Im Ereignis Load des Formulars:
Private Sub Form_Load()
Dim cob As Office.CommandBar
Set cob = CommandBars(Me.Toolbar)
With cob
Set btn1 = .Controls(1)
Set btn2 = .Controls(2)
Set btn3 = .Controls(3)
End With
End Sub
c) Für jeden Button eine eigene Sub:
Private Sub btn1_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
.... irgendeine Programmierung
End Sub
Private Sub btn2_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
.... irgendeine Programmierung
End Sub
Private Sub btn1_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
.... irgendeine Programmierung
End Sub
Private Sub btn3_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
.... irgendeine Programmierung
End Sub
Voraussetzung für diese Vorgehensweise ist ein Verweis auf die MS Office Library
Viel Glück

