none
Objekte aus AddIn kopieren

    Frage

  • Hallo zusammen

    Ich möchte mir ein AddIn basteln, dass mir einige Sachen schnell erledigt resp. Tabellen und Module, welche ich in diversen DB's benötige, per wenigen Mausklicks in der aktuellen DB erstellt.

    Am einfachsten wäre, die Tabellen aus dem AddIn gleich zu kopieren. Geht das? Ich weiss, dass ich Alternativ die Objekte per Create Table erstellen kann. Es geht mir hier einfach um den einfachsten Weg.

    Was ich aber nicht weiss ist, wie ich Module und Klassen aus dem AddIn in die aktuell geöffnete DB einfügen kann. Wie krieg ich das am einfachsten hin?

    Danke für Eure Antworten.

    Gruss
    Thomas


    Danke und Gruss Thomas

    Montag, 10. Februar 2014 20:55

Antworten

  • Hallo!

    Codemodule kannst du auf unterschiedliche Arten einfügen.
    Du könntest z. B. die VBIDE-Klassen (VbComponents, CodeModule usw. - auf das passende VBA-Projekt achten!) verwenden oder du verwendest Application.LoadFromText.

    Ein paar Beispiele (Code ist offen; bei Bedarf mit gedrückter Umschalttaste das Autoexec-Makro umgehen):
    Beim ACLib-Import-Wizard verwende ich z. B. VBComponents.Import um die über VBComponent.Export als Datei exportiere Sammlung an CodeModulen zu importieren (Methode importVbComponent in ACLibFileManager).

    Beim ACLib-FilterForm-Wizard exportiere ich die in einer Tabelle gespeicherten Codemodule in eine Temp-Datei und  importiere die Codemodule über Application.LoadFromText. 

    Anm.: SaveAsText und LoadFromText könnte auch für den Tabellenimport eine Möglichkeit sein.

    Ein paar grundsätzliche Gedanken:
    Wiederverwendare Codemodule könntest du auch in einer Quellcodeverwaltung ablegen und von dort importieren.

    Du könntest den wiederverwendbaren Code aber auch direkt aus dem Add-In laufen lassen bzw. eine mde/accde-Bibliothek verwenden.

    mfg
    Josef


    Code-Bibliothek für Access-Entwickler
    AccUnit - Testen von Access-Anwendungen
    Virtueller Access-Stammtisch



    Montag, 24. Februar 2014 08:18

Alle Antworten

  • Hallo!

    Codemodule kannst du auf unterschiedliche Arten einfügen.
    Du könntest z. B. die VBIDE-Klassen (VbComponents, CodeModule usw. - auf das passende VBA-Projekt achten!) verwenden oder du verwendest Application.LoadFromText.

    Ein paar Beispiele (Code ist offen; bei Bedarf mit gedrückter Umschalttaste das Autoexec-Makro umgehen):
    Beim ACLib-Import-Wizard verwende ich z. B. VBComponents.Import um die über VBComponent.Export als Datei exportiere Sammlung an CodeModulen zu importieren (Methode importVbComponent in ACLibFileManager).

    Beim ACLib-FilterForm-Wizard exportiere ich die in einer Tabelle gespeicherten Codemodule in eine Temp-Datei und  importiere die Codemodule über Application.LoadFromText. 

    Anm.: SaveAsText und LoadFromText könnte auch für den Tabellenimport eine Möglichkeit sein.

    Ein paar grundsätzliche Gedanken:
    Wiederverwendare Codemodule könntest du auch in einer Quellcodeverwaltung ablegen und von dort importieren.

    Du könntest den wiederverwendbaren Code aber auch direkt aus dem Add-In laufen lassen bzw. eine mde/accde-Bibliothek verwenden.

    mfg
    Josef


    Code-Bibliothek für Access-Entwickler
    AccUnit - Testen von Access-Anwendungen
    Virtueller Access-Stammtisch



    Montag, 24. Februar 2014 08:18
  • Hallo Josef

    Auch wenn es etwas gedauert hat, möchte mich mich für Deine Antwort bedanken. Sie hilft mir sehr weiter.


    Danke und Gruss Thomas

    Freitag, 21. März 2014 21:44