Fragensteller
Access Startparameter übergeben, aber leer

Frage
-
Ich habe ein VBA-Programm das auf 3 Rechnern läuft. Es handelt sich um eine Access-Datenbank. Das Programm wir durch eine VBS-Prozedur aufgerufen und übergibt dabei einen Startparameter, der im Programm dann abgefragt wird. Wie gesagt, es funktioniert auf 3 WIN10/Rechnern sauber. Wir haben nun einen weiteren Win10/PC in Betrieb genommen und dort das gleiche Programm, die gleiche VBS-Prozedur installiert.
vbs-Programm:
mPfad = mPfad & " /cmd " & ProgrammModus
'Pgm. Aufruf mit Warten auf Ausführungsende
' resultat = wshshell.Run (mPfad,, true)
wshshell.Run mPfad
Inhalt von mPfad = "C:\Users\sss\Datenbanken\Fahrschule\Eurofahrschule.mdb /cmd norm"
---------------- mPfad ist richtig. Auch wenn ich im Ausführe-Fenster das Programm Eurofahrschule aufrufe und mit /cmd norm den Parameter übergebe, ist das Command-Feld im Programm leer.
----- Das ist die Abfrage im VBA-Programm
Dim mParam As String
Dim mLänge As Integer
mParam = RTrim$(Command())
mLänge = Len(mParam)
If mLänge = 0 Then
Beep
MsgBox "Startparameter fehlen!", vbCritical
DoCmd.Quit
End If
Wie gesagt in den anderen Installationen funktioniert das einwandfrei. Irgendwie scheint Access die Variable Command nicht zu kennen. Ich bin jetzt mit meiner Weisheit am End. Vielleicht hat jemand von euch einen klugen Tip.
Fritz
Alle Antworten
-
Es scheint einen Unterschied zwischen installiertem Access und Runtime-Only zu geben:
Da man ja mehrere Parameter übergeben könnte liefert nun die Funktion Command() ein Array zurück.
Somit wäre Command()(0) der 1. Parameter nach dem "/cmd".
https://stackoverflow.com/questions/27904046/ms-access-how-to-determine-the-command-line-parameters-that-the-current-instanc
Stichwort "Runtime"-Version.
-
Der Tip bringt mich darauf; ich werde die ganze Office-Installation nochmal überprüfen. Evtl. liegt da der Hund begraben. Muss ja fast sein, denn ich habe mittlerweile eigentlich alle möglichen Fehlerquellen untersucht. Falls eine Office-Reparatur nichts bringt, dann werde ich die ganze Installation neu machen. Falls das dann die Lösung ist, werde ich mich wieder melden.
Fritz