Access Instance ermittel und zur Automation nutzen

Hallo,

ich stehe hier vor einem kleinen Problem und habe bisher keine Loseung gefunden.

Folgende Problemstellung:
Aus einer Access-Anwendung heraus will ich eine weitere AccessDB starten und in dieser ein Formular mit einem bestimmten Datensatz anzeigen.

Soweit kein Problem im Prinzip funktioniert das, aber wenn die Datenbank bereits geoeffnet ist wird ein 2.Instance geoeffnet (GetObject, CreateObject), das wuerde ich gerne vermeiden. Feststellen ob diese DB bereits laeuft ist auch nicht das Thema, das funzt ueber div. API-Calls.

Aber wie kann ich, wenn ich ueber die APICalls die laufende Access-Instance ermittel habe das Handel der Anwendung einem VBA-AccessObjekt zu weisen, damit ich mittels Automation die Kontrolle uebernehmen kann.
Nur mit der Zuweisung des hWnd ist es nicht getan, das funzt nicht.

Das Problem stellt sich halt fuer den Fall, das der Anwender die DB schon zuvor manuell geoeffnet hat, das mehrmalig oeffen aus der Aufrufenden DB kann ich ja problemlos verhindern.

Die bereits laufende Anwendung mittels API-Call abzuschiessen und wieder neu zu starten ist keine Option.

Nur mit der Zuweisung des hWnd ist es nicht getan, das funzt nicht.

btw: Access2002/2003/2010 unter WinXP/Win7

Any help welcome

Tschau
Peter

Hallo,

warum importierst Du nicht einfach das Formular in Deine DB und verknüpfst die nötige(n) Tabelle(n) aus der anderen DB?

Gruß
Franz, DF6GL

Hallo,

Hallo,

warum importierst Du nicht einfach das Formular in Deine DB
und verknüpfst die nötige(n) Tabelle(n) aus der anderen DB?

Es geht hier darum, Informationen aus 3 oder 4 Accessanwendungen schnell zum Einsehen zur Verfuegung zu stellen, dabei sind in jeder Anwendung dutzende Tabellen im Spiel und die Formulare greifen z.T. auf umfangreiche VBA Routinen zu.

Ich habe in Zukunft keinen Bock bei Aenderungen/Updates an mehreren Anwendungen anpacken zu muessen um sie alle auf dem aktuellen Stand zu bringen.

Wenn GetObject mit Access so funktionieren wuerde wie mit EXCEL haette ich das Problem nicht, aber bei Access oeffnet sich immmer eine neuen Instanz.

Tschau
Peter

Hallo,
naja, diese Argumntation überzeugt (mich) nicht…

Wie auch, es hat schon seinen Grund in diesem Verhalten, eine weitere Instanz zu erzeugen( Datenbanksperren, Userrechte, Sicherheitssystem)…

Wie auch immer, vielleicht hilft ja die „Opendatabase“-Methode weiter, und/oder einen Verweis auf die andere(n) Datenbank(en) zu setzen.

Gruß
Franz, DF6GL