Laden...

Accessdatenbank starten (MSACCESS.exe)

Erstellt von Qt21580 vor 12 Jahren Letzter Beitrag vor 12 Jahren 2.258 Views
Q
Qt21580 Themenstarter:in
204 Beiträge seit 2005
vor 12 Jahren
Accessdatenbank starten (MSACCESS.exe)

Tachen,

Ich möchte mit C# eine Accessdatenbank öffnen. Das starten einer Anwendung ist grundsätzlich ja kein Problem außer Access mit Datenbankkennwort und Benutzersteuerung (Benutzer und Kennwort in *.mdw). Das ganze funktioniert mit Process.Start() unter WinXP. Ist zwar keine saubere Lösung da das Datenbankkennwort bei meiner Lösung mit sendKey übertragen wird. Unter Win7 würde das zwar auch funktioniern aber wegen dazwischengeschalteten (UAC) Dialog geht der Fokus vom Access verloren und das Datenbankkennwort landet irgendwo (zur Not verzichte ich auf Absicherung mit Datenbankkennwort) und als dankeschön wird der komplette String im Klartext ausgegeben (inkl. Benutzername und Kennwort). Ich hab's auch mit Automatisierung versucht mittels der dll Microsoft.Office.Interops das funktioniert leider auch nicht. Gibt es da eine Möglichkeit die System mdw mit einzubinden. Vielleicht weiß von euch jemand wie ich das lösen kann.

C
1.214 Beiträge seit 2006
vor 12 Jahren

Wozu? Kann mir nicht vorstellen, dass das wichtig ist. Mach halt notfalls den Explorer auf und selektier die Datei vor, dann soll der Benutzer sie selber aufmachen und sein Passwort eintippen.

Gelöschter Account
vor 12 Jahren

Ich persönlich machs ganz klassisch.


// Initialize Api COMObject Support
LateBindingApi.Core.Factory.Initialize();

// start access 
Access.Application accessApplication = new Access.Application();
accessApplication.OpenCurrentDatabase("c:\\db1.mdb", false, "MeinPasswort");
accessApplication.Visible = true;

Q
Qt21580 Themenstarter:in
204 Beiträge seit 2005
vor 12 Jahren

Die Lösung von Sebastian.Lange habe ich schon probiert funktioniert aber nur begrenzt. Mit dieser Variante habe ich keine Möglichkeit für die Benutzersteuerung (Übergabe einer benutzerdefinierten mdw Datei).

@Coder007 Dein Tip ist wirklich der beste 👍