Autom. Installation von Verweisen auf Bibliothek

Hallo zusaamen,

ich habe eine access application entwickelt und möchte beim start der applikation eine vba-prozedur laufen lassen, die die für die applikation benötigten objektbibliotheken installiert (über die GUID) in folgender form:

beispiel Installation der MSComctlLib Bibliothek:

Set objVBE_MSComctlLib = Application.VBE.ActiveVBProject.References. _
AddFromGuid("{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}", 2, 0)

Nun habe ich im Startformular, d.h. das Formular, welches beim Start der Access applikation automatisch geöffnet wird, folgende globale Variable definiert:

Private WithEvents ObjTree As MSComctlLib.TreeView

Dim objImageList As MSComctlLib.ImageList

Diese Variable objImageList benötigt eine Verweis auf die MSComctlLib Bibliothek.

Meine Frage: Wie bringe ich Access dazu, beim Start zunächst o.a. prozedur (die Prozedur, die die Verweise installiert) zu starten und erst dann das Startformular zu öffnen?

Diese Reihenfolge ist notwendig, damit zunächst die Bibliotek installiert wird, auf welche das Startformular zugreift?

Hat jemand eine Idee?

Beste Grüsse

Salvo

Hallo, Salvo!

Pack die Routine zum Einbinden der Bib in ein (globales) Modul, schreibe sie als Funktion, und rufe sie per Autoexec-Makro auf.

Als nächste Funktion oder nächsten Schritt nach der Registrierung öffnest Du dann Dein Hauptformular.

Aber pass auf, dass Du keine Objekte der zu registrierenden Bibliotheken in dem Modul verwendest, in dem Du sie registrierst. Ich bin mir nicht sicher, wie sich Access dann verhält. Ich vermute, das Modul wird wg. Compilerfehler nicht ausgeführt…

Gruß, Manfred

Hallo Manfred,

Vielen Dank. Aber wie rufe ich das Autoexec Macro auf? In den Startoptionen von Access hab ich nur die Möglichkeit ein Startformular anzubinden?

Gruss Salvo

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo, Salvo!

Vielen Dank. Aber wie rufe ich das Autoexec Macro auf? In den
Startoptionen von Access hab ich nur die Möglichkeit ein
Startformular anzubinden?

Lass den Eintrag für das Startformular leer. Und das Makro „Autoexec“ wird, wenn vorhanden und genau so heißend, automatisch aufgerufen.

Gruß, Manfred

Hallo Manfred,

d.h. damit das Startformular dennoch autom. beim Starten der Applikation geaden wird muss ich dieses als letzte anweisung (nachdem die bibl. installiert worden sind)im Autoexec Makro aufrufen? Richtig?

Und gehe ich richtig in der Annahme, dass das Autoexec Makro eine normale Prozedur/ Funktion ist, die ich in ein „Modul Start“ schreibe und diese Prozedur/ Funktion einfach „Autoexec“ nenne?

Vielen Dank für deine hilfe.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,
Du verwechselst Macros mit VBA.
Du erstellst einen Macro namens „AutoExec“ und in diesem kannst du dann Funktionen aufrufen, die du in einem Modul o.ä. hinterlegt hast.
–> Also auch deine Objekt - Einbindungsroutinen.
Danach öffnest du in diesem Macro das Einstiegsformular.

Ich habe hier im geschäft leider nur Access2007,daher kann ich nicht genau beschreiben, wie man mit einer alten Version einen Macro erstellt. wenn du auch Office2007 hast, beschreibe ich es aber gerne.

gruß,
AlexR

Hallo, Salvo!

Du erzeugt ein Modul und schreibst dort ungefähr folgendes rein:

Function Main()
 ' jetzt Dein Einbinden der Verweise...
 ' ...
 ' und zuletzt Dein Formular öffnen
 DoCmd.OpenForm "DeinStartformular"
End Function

Dann erzeugst Du ein Makro, nennst das „Autoexec“ und schreibst dort lediglich in die erste Zeile „AusführenCode“ und unten bei den Eigenschaften kommt „=Main()“ rein. Das war’s.

Gruß, Manfred