collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 68
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 2
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13910
  • stats Beiträge insgesamt: 65777
  • stats Themen insgesamt: 8873
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Inhalt eines Textfeldes an externes Programm übergeben?  (Gelesen 4130 mal)

Offline Videokind

  • Newbie
  • Beiträge: 3
Zuerst ein "Hallo" an Alle!

Verwendet wird eine in Access 2000 erstellte DB mit Access 2003. Betriebssystem: Vista.

Zuerst: Ja, ich habe gegoogelt - stundenlang. Ich habe aber nur Sachen gefunden, die fast mein Problem getroffen haben.

Es geht um eine Filmdatenbank. Ich möchte mit einem Knopfdruck den jeweiligen Film starten.
Meine ursprüngliche Idee mit einem Hyperlink hat sich schnell zerschlagen, da
a) Hyperlinks so ziemlich alle Dateien unterstützen - außer Videos
b) jedesmal der Warnhinweis von MS kommt: "Hyperlinks können gefährliche Daten blablabla..."

Beim Googeln fand ich den Vorschlag, mit einem Button ein externes Programm (hier: Videoplayer) zu starten. Das habe ich auch hinbekommen:

Private Sub Film_ab_Click()
On Error GoTo Err_Film_ab_Click

    Dim L As Long
   
    L = Shell("C:\Program Files\VLC\vlc.exe")
   
Exit_Film_ab_Click:
    Exit Sub

Err_Film_ab_Click:
    MsgBox Err.Description
    Resume Exit_Film_ab_Click
   
End Sub

und auch der funktioniert:

Private Sub Zest_2_Click()
On Error GoTo Err_Zest_2_Click

    Dim stAppName As String

    stAppName = "C:\Program Files\VLC\vlc.exe"
    Call Shell(stAppName, 1)

Exit_Zest_2_Click:
    Exit Sub

Err_Zest_2_Click:
    MsgBox Err.Description
    Resume Exit_Zest_2_Click
   
End Sub

Nun habe ich ein Textfeld, in dem der Pfad zu der Videodatei hinterlegt ist [Text471].

Frage: Wie bekomme ich es hin, dass der Inhalt dieses Textfeldes an das externe Programm übergeben wird?

Ich denke mir, dass das irgendwie mit dem "Me!"-Befehl gehen muss!? Hab schon verschiedene Konstellationen durchprobiert - leider erfolglos.
Das das Abspielen geht, hab ich schon probiert. Wenn ich oben eingebe:
stAppName = "C:\Program Files\VLC\vlc.exe C:Video\Film.avi"
startet es - nur so krieg ich immer den gleichen Film zu sehen  ;D .

Wenn ich schon dabei bin: Ich hätte noch zwei Folgefragen, wenn das Hauptproblem gelöst ist:
1.) Kann es sein, dass beim Übergeben von Pfaden Access Leerzeichen nicht mag? Z.B. beim Dateinamen "Film 1" zickt er, "Film1" ging anstandslos. (Auch "Film%201" stieß auf wenig Gegenliebe).
2.) Wäre es möglich, eine Kette von Filmen als Parameter zu übergeben, z.B.: "C:\Video\Film1.avi, C:Video\Film2.avi" etc.?

Wobei die Zusatzfragen nur kosmetischer Natur sind, mir fällt ein Riesenstein vom Herzen, wenn es überhaupt mal geht.

Vielen Dank fürs Lesen!
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7202
Re: Inhalt eines Textfeldes an externes Programm übergeben?
« Antwort #1 am: Mai 09, 2010, 17:02:23 »
Hallo,
hänge die Datei einfach hintendran:
stAppName = "C:\Program Files\VLC\vlc.exe " & Chr(34) & Me![Text471] & Chr(34)Achte auf das Leerzeichen nach Exe.
Die Chr(34) (") sind erforderlich wegen den angesprochenen Leerzeichen.
Wobei ich davon aussgehe, dass in [Text471] der Pfad und der Dateiname steht.
« Letzte Änderung: Mai 09, 2010, 19:12:34 von MzKlMu »
Gruß
Klaus
 

Offline Videokind

  • Newbie
  • Beiträge: 3
Re: Inhalt eines Textfeldes an externes Programm übergeben?
« Antwort #2 am: Mai 09, 2010, 18:43:37 »
Heureka - es funktioniert!  ;D
Sogar mit Leerzeichen.

Vielen, vielen Dank!