![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Veteran
![]() Registriert seit: 10.01.2001
Beiträge: 478
|
![]() Hallo!
Habe leider ein kleines Problem. Ich habe mehrere User die eine Access-DB verwenden sollen. Da sich die User ohnehin bei Windows anmelden wäre es schön, wenn sie sich nicht auch noch beim Starten der DB ein zweites mal anmelden müssten. Mein Lösungsansatz war den User mit UserName = environ("UserName") auszulesen und dann per call shell("C:\Programme\Microsoft Office\Office10\MSACCESS.EXE C:\Dokumente und Einstellungen\username\Desktop\Access\MyDB.mdb /user " & UserName & " /pwd XYZ") die DB zu öffnen. Leider ist aber entweder die Shell oder Access der Meinung, dass der String nach dem ersten Space im Teil für das File lang genug ist und beginnt mit C:\Programme\Microsoft Office\Office10\MSACCESS.EXE C:\Dokumente.mdb zu arbeiten, was ja nicht ganz sinnvoll ist da dort selbstverfreilich nix zu finden ist. Wenn ich die Datenbank in einem Pfad ohne Spaces liegen habe funktioniert es wunderbar. Sicher, ich könnte die DB auch in einen Pfad ohne Spaces legen, aber hier geht es mir auch um's Prinzip. Ich habe nämlich das dumme Gefühl, dass ich eigentlich wissen sollte wie das zu lösen ist. danke im voraus Seidl |
![]() |
![]() |
![]() |
#2 |
Schwarzfußfrettchen
![]() Registriert seit: 28.01.2001
Beiträge: 2.071
|
![]() Das hat einfach damit zu tun dass die leerzeichen die einzelnen parameter trennen.
Probiers mal mit shell "C:\Programme\Microsoft Office\Office10 MSACCESS.EXE ""C:\Dokumente und Einstellungen\username\Desktop\Access\MyDB.mdb"" /user " & UserName & " /pwd XYZ" wobei die "" jeweils ein " im string erzeugen. Damit sollte es dann gehen. Du kannst es aber auch so machen: TheApp = "C:\Programme\Microsoft Office\Office10\MSACCESS.EXE " TheDB = """C:\Dokumente und Einstellungen\username\Desktop\Access\MyDB.mdb""" TheParams = " /user " & UserName &" /pwd XYZ" shell TheApp & TheDB & TheParams ![]()
____________________________________
Wann die kan Almdudler ham... \"Es gibt nur einen Weg zur Lunge, und der muss geteert werden, damit der Krebs nicht stolpert!\" http://www.dream.at/gizmo/bunny.gif Image is © 2001 Merle Sterndalsäg.. ähh... jäger ![]() |
![]() |
![]() |
![]() |
#3 |
Veteran
![]() Registriert seit: 10.01.2001
Beiträge: 478
|
![]() Also das ist mir ja jetzt schon ein bisschen peinlich. Eine ähnliche Version hatte ich auch schon versucht um die Strings zu unterteilen. Anscheinend hab ich mich da aber irgendwo vertippt. Jetzt geht's nämlich plötzlich.
Const Q As String = """" Path = "C:\Programme\Microsoft Office\Office10\MSACCESS.EXE " & Q & "C:\Dokumente und Einstellungen\username\Desktop\Access\MyDB.mdb" & Q & " /user A /pwd B" Call Shell(Path) Auf jeden Fall danke, dass du mich auf "den rechten Pfad" zurückgeführt hast. ![]() so long Seidl |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|