Sehr einfaches Problem: Ich habe eine öffentliche Sub (in einem Modul), die ich von einer Schaltfläche auf einem Formular aufrufen möchte. Der Name der Funktion, die ich vom Modul aufrufen möchte, ist GenerateKML.Aufruf einer öffentlichen Sub aus einem Formular in MS Access
Ich habe diesen Beitrag lesen:
How do I call a VBA Function into a Sub Procedure
und versuchte, alle vorgeschlagenen Methoden, von denen keines für mich arbeiten. Möglicherweise gibt es ein Problem mit meinem Code, aber wenn ich in der Codeansicht bin (Bearbeiten des Moduls) und auf die Schaltfläche "Abspielen" klicke, wird der Code korrekt ausgeführt (eine KML-Datei wird erstellt).
Wenn ich die zweite Methode vorgeschlagen (Aufruf einer Unterroutine in einem Modul aus einem Formular) verwenden Ich erhalte diese Fehlermeldung:
Compile Fehler
Erwartete Variable oder Prozedur, nicht Modul
Und wenn ich das dritte Verfahren (Aufruf ein Unterprogramm von einem Formular ohne eine Ereignisprozedur verwendet wird) verwenden, bekomme ich diese:
Der Ausdruck On Click, den Sie als Ereigniseigenschaft eingegeben haben ...: Der von Ihnen eingegebene Ausdruck hat einen Funktionsnamen, den [mein DB-Name] nicht finden kann.
Also ich vermute, dass etwas nicht stimmt mit, wie ich den Code nenne, den ich ausführen möchte.
Dies ist, wie der Code für mein Modul beginnt:
Option Compare Database
Public Sub GenerateKML()
'
' GenerateKML Macro
' Macro recorded 26/09/2006 by simon_a
' Adapted and imported to Access by SAA
' 03 aug 2007 - v3.0 - 2007 08 06 19 24
'
' DECLARE VARIABLES
Dim filename As String
Dim docname As String
Vielen Dank Lil'Monkey - das war's. –