Danke nochmals an alle die mir geholfen haben.
Da ich nun weiß wie's geht, spare ich mir die "Vermittler-DB".
Jetzt muss ich noch herausfinden wie ich verhindere das mehrere Instanzen der gleichen Datenbank gestartet werden können.
Vielleicht gibt es in der "OpenCurrentDatabase-Methode" ja einen geheimen Parameter der das verhindert.
Ich habe aber nichts derartiges gefunden, Vorschläge nehme ich gerne entgegen !!! ;-)
Zur Zeit versuche ich es über "Process.GetProcessesByName" und entsprechende Routinen.
Ich bin aber für Einfachheit und nehme jeden Hinweis gerne an.
Hier die Basis-Routine für Visual Basic für diejenigen die es ausprobieren möchten:
Ein neues "Windows Forms-App .NET" Projekt erstellen.
Im Projektmanager einen neuen COM-Verweis auf MSACC.OLB erstellen.
Standard-Pfad ist: C:\Program Files (x86)\Microsoft Office\root\Office16
Im Code-Fenster von Form1 oberhalb von "Public Class Form1" folgende Zeile einfügen:
Imports Microsoft.Office.Interop
Im "Form1_Load Ereignis" folgenden Code einfügen (DbFile und PW anpassen):
Dim AccApp As New Access.Application
Dim DbFile as String = "c:\progs\frontend.accde"
Dim PW as String = "geheim"
Dim Exclusiv as Boolean = false
With AccApp
.OpenCurrentDatabase(DbFile , Exclusiv , PW)
.Visible = True
.UserControl = True
.RunCommand(Access.AcCommand.acCmdAppMaximize)
End With
Close()