Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Prüfen. ob eine Datenbank bereits gestartet wurde

Begonnen von compinaut, Mai 14, 2020, 11:16:24

⏪ vorheriges - nächstes ⏩

compinaut

Hallo,
ich möchte gerne von einer Datenbank zur anderen wechseln können. Dies erledige ich mit AppActivate. Das funktioniert auch prima, wenn die Datenbank bereits geöffnet ist. Mit dem Shell-Befehl könnte ich die andere Datenbank auch leicht öffnen, wenn sie noch geschlossen ist. Ich kann mit AppActivate jedoch keinen Fehler abfangen, wenn die Datenbank nicht geöffnet ist. Kann ich irgendwie ermitteln, ob eine Datebank bereits gestartet wurde?
Ich finde nur Funktionen der Windows-API in 32bit. Aber mit der 64bit-Version sind viele Windows-API-Funktionen ja geändert worden. Dazu finde ich leider nichts.
Kann mir vielleicht jemand weiterhelfen?
Gruß
compinaut

compinaut

Hallo,
Frage hat sich erledigt.
Ich hatte wohl einen Fehler in der Fehlerbehandlung. Es wird ein Fehler Nr. 5 ausgegeben. Den kann ich abfangen und dann die Datenbank öffnen, wenn sie noch nicht geöffnet war.
Gruß
compinaut

PhilS

Zitat von: compinaut am Mai 14, 2020, 11:16:24
Ich finde nur Funktionen der Windows-API in 32bit. Aber mit der 64bit-Version sind viele Windows-API-Funktionen ja geändert worden. Dazu finde ich leider nichts.
Die Windows API Funktionen haben sich von 32bit auf 64bit nicht geändert! - Nur die Deklarationen in VBA musst du anpassen, wenn sie erstellt wurden bevor es 64bit VBA gab (oder 64bit-Kompatibilität dabei ignoriert wurde).

Zu deinem Kernproblem solltest du mal die GetObject Funktion mit dem Datenbankpfad als Argument ausprobieren.


Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

compinaut

Hallo PhilS,
vielen Dank für den Tipp. Werde ich auf jeden Fall ausprobieren.
Eine Frage stellt sich mir noch in diesem Zusammenhang: Kann man die geänderten Deklarationen der WindowsAPI von 64bit (angepasst für Access) irgendwo finden? Ich habe vor einiger Zeit einmal einen Druckdialog im Internet gefunden. Dieser funktioniert jedoch nicht mehr (das war eine 32bit-Deklaration). Ich habe schon viel recherchiert und auch vieles ausprobiert. Aber ich bekomme die Funktion nicht mehr zum Laufen.