VBScript - Variable mit Leerzeichen in URL-String übergeben

  • VBScript

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von toby1808.

    VBScript - Variable mit Leerzeichen in URL-String übergeben

    Hallo zusammen,

    ich bin was VBS angeht ein Neuling. Ursprünglich komme ich aus der Welt der Datenbanken.

    Ich stehe aktuell vor einem Problem, bei dem ich nicht weiterkomme. Vielleicht kann mir jemand von euch helfen.

    Ich plane einen Programmaufruf via VBScript aus unserem Krankenhausinformationssystem heraus.
    Ich habe dort einen Button angelegt, welcher gewisse Felder aus der DB mitgibt und diese sollen dann via VB Script in einem Webaufruf der Patientenaufklärung übergeben werden.

    Mein Problem ist folgendes. In dem VBScript möchte ich die Städtenamen sowie die Straßennamen übergeben. Diese beinhalten jedoch Leerzeichen. Der Aufruf an sich funktioniert einwandfrei, jedoch schneidet der Aufruf nach dem ersten Leerzeichen den String ab und so wird aus der Stadt "Bad Berka" nur noch "Bad" und aus der Straße "Am See" wird "Am".

    Mein Script schaut wie folgt aus.

    'msgbox "Fall " & wScript.Arguments(0) & ", Vorname " & WScript.Arguments(1) & ", Name "& wScript.Arguments(2)& ",
    'Gebdat " & wScript.Arguments(3) & ", PLZ " & wScript.Arguments(4) & ", Ort: " & wScript.Arguments(5) & ", Strasse: " & wScript.Arguments(6)

    strBaseURL="http://server:port/xyz/xyz?user=xxx"

    'Nachname (ln) und Vorname (fn) des Patienten sind Pflichtmerkmale und müssen aus den Patientendaten / Leistungsdaten gezogen werden.
    'str0 = (pid) Fallnummer des Patienten = pat
    str0="&id="

    'str1 = Vorname -Pflicht
    str1="&fn="

    'str2 = Nachname - Pflicht
    str2="&ln="

    'str3 = Geburtsdatum
    tag= Mid(wScript.Arguments(3), 7,2)
    monat= Mid(wScript.Arguments(3), 5,2)
    jahr= Mid(wScript.Arguments(3), 1,4)
    geburtstag = tag & "." & monat & "." & jahr
    str3="&bd="

    'str4 = PLZ
    str4="&plz="

    'str5 = Wohnort
    str5="&cit="

    'str6 = Strasse
    str6="&adr="

    strURLmitParam = strBaseURL & str0 & wScript.Arguments(0) &str1 & WScript.Arguments(1) & str2 & wScript.Arguments(2)& str3 & geburtstag & str4 & wScript.Arguments(4) & str5 & wScript.Arguments(5)
    Dim objWshShell
    Set objWshShell = CreateObject("WScript.Shell")
    objWshShell.Run "iexplore.exe " & strURLmitParam

    Die Variablen str1-5 beinhalten die feldbezeichnugnen für das Zielsystem, die wiederum die Werte aus der DB des Quellsystems enthalten. Habe ich nun einen Patienten, der aus Bad Berka kommt, steht auf seinem Aufklärungsbogen nur der Ort "Bad".

    Wie kann ich in meinem Aufurf mitteilen, dass er die Leerzeichen in dem Orts- bzw. Straßennamen mitnimmt und entsprechend im Zielsystem ausgibt)
    Ich hoffe ihr könnt mir helfen.

    Liebe Grüße

    Tobi
    Dein Problem hat nichts mit VBS zu tun sondern mit dem URL encoding.
    Manche Zeichen müssen in der, so genannten, Prozentdarstellung dargestellt werden.
    Siehe: de.wikipedia.org/wiki/URL-Encoding#Prozentdarstellung

    Dazu wäre dann eine Funktion die einen String entgegen nimmt und nach Möglichkeit alle zu ersetzenden Zeichen, oder zumindest die die aus deiner Datenbasis vorkommen können, ersetzt und einen String zurück liefert.

    Kleiner Hinweis: Bitte benutze Code Tags. Danke
    Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.