Stefan: Request.Form

hallo,
ich habe ein Formular, welches folgendermaßen auf Vollständigkeit geprügft
wird:
Request.Form("Region")="" AND _
Request.Form("Telefon")="" AND _
Request.Form("Taetigkeit")="" AND _
Request.Form("ab") OR Request.Form("so")="" THEN

Die letzte Zeile bedeute, dass entweder ("ab") oder ("so") gefüllt sein
muss.
("ab") beinhaltet Datumswerte, die über drei Selectfelder gewählt werden.
Also Tag, Monat, Jahr.
Bei der Übergabe an die Auswertung (Request.Form) bekomme ich folgenden
Fehlercode:

Laufzeitfehler in Microsoft VBScript-Fehler '800a000d'
Typen unverträglich: '[string: ", , "]'

Muss ich den Wert erst konvertieren?
Vielen Dank & Grüße
Stefan

  1. Hi Stefan,

    müßte es nicht heißen:

    Request.Form("ab") OR Request.Form("so")="" THEN

    Request.Form("ab")="" AND Request.Form("so")="" THEN
    denn Du willst ja eine Fehlermeldung ausgeben, wenn beide Felder leer sind.

    Gruß
    Thomas

    1. hallo,

      müßte es nicht heißen:
      Request.Form("ab")="" AND Request.Form("so")="" THEN
      denn Du willst ja eine Fehlermeldung ausgeben, wenn beide Felder leer sind.

      nein, denn es wird immer nur ein Feld ausgefüllt sein; enweder ("ab") oder ("so").
      Das Formular wird als korrekt weitergegeben, wenn ("so") ausgefüllt worden ist, aber nicht wenn ("ab") ausgefüllt worden ist. Und da liegt das Peoblem. Denn es soll auch verrbeitet werden wenn ("ab") ausgefüllt wurde.
      viele Grüße
      Stefan

      1. Hello again,
        gehe ich fehl in der Annahme, daß Du nach THEN eine Fehlermeldung wegen nichtausgefüllter Felder ausgibst?
        Falls ja, dann bringt Dein Code derzeit einen Fehler wenn Region UND Telefon UND Tätigkeit nicht ausgefüllt sind, sowie eines der Felder ab oder so leer ist.
        Wenn ich Dich richtig verstehe muß der Benutzer aber Region ausfüllen UND Telefon UND Tätigkeit UND eines der beiden Felder ab oder so.
        Falls das stimmt lautet die Abfrage:

        Request.Form("Region")="" OR _
        Request.Form("Telefon")="" OR _
        Request.Form("Taetigkeit")="" OR _
        (Request.Form("ab")="" AND Request.Form("so")="") THEN

        Falls ich aber komplett auf dem Holzweg bin mußt Du auf jeden Fall nach Request.Form("ab") die Abfrage auf ="" dazuhängen.

        Gruß
        Thomas

  2. Hallo Stefan,

    Request.Form("ab") OR Request.Form("so")="" THEN

    das geht so nicht, es muss schon heissen:
    Request.Form("ab") = "" OR Request.Form("so")="" THEN

    jeder Vergleichswert braucht seine Bedingung.

    aber auch dann bezweifle ich ob deine Logik stimmt.
    Gruss
    Christian

    Die letzte Zeile bedeute, dass entweder ("ab") oder ("so") gefüllt sein
    muss.
    ("ab") beinhaltet Datumswerte, die über drei Selectfelder gewählt werden.
    Also Tag, Monat, Jahr.
    Bei der Übergabe an die Auswertung (Request.Form) bekomme ich folgenden
    Fehlercode:

    Laufzeitfehler in Microsoft VBScript-Fehler '800a000d'
    Typen unverträglich: '[string: ", , "]'

    Muss ich den Wert erst konvertieren?
    Vielen Dank & Grüße
    Stefan