Forums Neueste Beiträge
 

focus auf zweite datenbank

08/01/2008 - 08:43 von Andreas Gauer | Report spam
Hallo NG,

folgendes Problem: ich öffne aus einer geöffneten DB heraus eine 2. DB
mittels FollowHyperlink, funktioniert soweit sehr gut. Wenn ich jetzt die 2.
DB mittels DoCmd.quit schließe kommt nicht unbedingt die 1. DB wieder auf den
Desktop sondern irgend ein Programm, welches gerade in Windows geöffnet ist.

Ist es möglich, die 1. DB wieder auf dem Desktop anzuzeigen (Den Focus zu
geben), nach dem ich die 2. DB wieder schließe.

Für Hilfe im voraus vielen Dank

Viele Grüße
AG
 

Lesen sie die antworten

#1 Henry Habermacher
08/01/2008 - 11:54 | Warnen spam
Hallo Andreas

Andreas Gauer wrote:
folgendes Problem: ich öffne aus einer geöffneten DB heraus eine 2. DB
mittels FollowHyperlink, funktioniert soweit sehr gut. Wenn ich jetzt die



Ob das die richtige Methode ist, wage ich zu bezweifeln

Versuch mal folgendes:

Dim appAccess As Access.Application
appAccess = CreateObject("Access.Application")
appAccess.CurrenDB = "NameDerAnderen.MDB"
appAccess.Visible = True

Nun hast Du die andere Access Instanz gestartet und noch besser, Du hast
Kontrolle über diese, von der ersten Access Anwendung heraus.

2. DB mittels DoCmd.quit schließe kommt nicht unbedingt die 1. DB wieder
auf den Desktop sondern irgend ein Programm, welches gerade in Windows
geöffnet ist.



Das ist das standard Windows Verhalten, wenn Du eine Anwendung schliesst. Du
hast aber die Möglichkeit vor dem Schliessen die andere Anwendung in den
Vordergrund zu holen.


Ist es möglich, die 1. DB wieder auf dem Desktop anzuzeigen (Den Focus zu
geben), nach dem ich die 2. DB wieder schließe.



Wie's geht, findest Du hier:
http://www.mvps.org/access/api/api0007.htm

Mit dem Optionalen Parameter fActivate kannst Du angeben, ob die Anwendung
aktiviert werden soll. Nur hast Du da vielleicht noch ein andreres Problem,
nàmlich rauszufinden, welches denn nun die andere Access Instanz ist.
Vielleicht hilft dabei dieses Modul:
http://www.mvps.org/access/api/api0013.htm

Du könntest aber auch in der ersten Anwendung kontrollieren, ob die zweite
Anwendung noch làuft. Wenn Du diese wie oben Beschrieben startest, dann
kannst Du auch kontrollieren, ob diese noch làuft, z.B. in einem Loop und
solange das der Fall ist, ein DoEvents() ausführen. Sobald das dann nicht
mehr der Fall ist, kannst Du die Anwendung selber wieder in den Vordergrund
holen. Das sollte, ohne es jetzt ausprobiert zu haben über:

Application.Activate

möglich sein.

Gruss
Henry


Microsoft MVP Office Access
Keine E-Mails auf Postings in NGs. Danke.
Access FAQ www.donkarl.com

Ähnliche fragen