VisualBasic .NET mde per Process.Start (Process.StartInfo) nicht schreibgeschützt öffnen

palaber

Captain
Registriert
Juni 2006
Beiträge
3.856
Hallo zusammen,

ich versuch gerade eine Access 2010 Datenbank (*.mde) per Process.Start-Methode zu öffnen.
Eigentlich läuft es schon ganz gut, aber ein Problem habe ich. Und zwar wird die DB immer
schreibgeschützt geöffnet.

Zunächst mal zum Ablauf / verwendeten Code:

Code:
Dim oProcess As New Process()

Try
   oProcess.StartInfo.UseShellExecute = False

   'Bekannt geben der zu öffnenden Applikation'
   oProcess.StartInfo.FileName = "C:\Program Files (x86)\Microsoft Office\Office14\MSACCESS.EXE"
               
   'Übergibt Argument "welche DB soll geöffnet werden"'
   oProcess.StartInfo.Arguments = "D:\Test\test.mde" & " /cmd"   
            
   'Fenster anzeigen, maximiert und Anwendung starten'            
   oProcess.StartInfo.CreateNoWindow = False
   oProcess.StartInfo.WindowStyle = ProcessWindowStyle.Maximized
   oProcess.Start()

Catch ex As Exception
   MessageBox.Show("Fehler beim ausführen der MDE: " & ex.Message)
End Try

Ich vermute ich muss irgendwo in den Arguments noch ein Argument hinzufügen, der mir "vollen" Zugriff auf die
db ermöglicht. Allerdings suche ich schon ewig und finde einfach nix...

EDIT:
So wie es aussieht liegt es am Pfad meines Argumentes. Die Datei lag unter einem anderen Pfad.
Mit dem obigen Pfad geht es. :freak:

EDIT2:
Problem weiter eingegrenzt / neues entdeckt. Sobald ein Leerzeichen im Pfad der DB (StartInfo.Arguments) auftaucht interpretiert Access das als Ende des Pfades. Access feuert dann beim starten eine Fehlermeldung -> aus "D:\test\hallo worlddb\db.mde" wird "D:\test\hallo.mde".

EDIT3:
mit: oProcess.StartInfo.Arguments = """D:\01 - Projekte\test.mde""" geht es jetzt. ;)
 
Zuletzt bearbeitet:
Zurück
Oben