An alle VB/ASP Spezialisten helft mir
Jenny
- vb-script
Hallo,
ich betreibe mit ASP/VBscript eine Webdatenbank. Nun habe ich ein Formular, dass dann je nach eingabe bestimmte Daten aus der db suchen soll. Nun habe ich das so gelöst, dass jedes Eingabefeld mit If geprüft wird ob eine Eingabe stattgefunden hat, und dann mit THEN eine sql-Befehl ausgefüht wird. Das funktioniert auch prima. Nur sind das mehr als 20 verschidene If-Abfragen und dadurch sehr unübersichtlich. Geht das auch mit Select case? Ich habe es schon probiert aber es funktioniert nicht. Ich poste auch unten etwas non meinem Code. Danke für eure Hilfe.
If (Request("Feld1")<>"") Then
sql="Select ..."
end If
If (Request("Feld2")<>"") Then
sql="Select ..."
end If
So und so ungefähr soll es aussehen, aber es funktioniert nicht (Denkfehler?`)
Select Case sql
Case(Request("Feld1")<>"")
sql="Select ..."
Case(Request("Feld2")<>"")
.
.
.
End Select
Moin!
So und so ungefähr soll es aussehen, aber es funktioniert nicht (Denkfehler?`)
Ja. Mit Case kannst du den Wert _EINER_ Variablen abfragen und für unterschiedliche Werte derselben dann in verschiedene Abschnitte springen. Du hingegen hast hier _mehrere_ Variablen, nämlich Request("Feld1") und Request("Feld2").
Wenn du komplizierte Dinge tun willst, wird der Code zwangsweise eben auch kompliziert.
- Sven Rautenberg
Ok. Ist Schade, aber so ist VB halt :) Trotzdem vielen Dank für eure Hilfe. Jetzt bin ich um einiges schlauer und muss bzw. kann mich mit diesem Problem nicht länger herum ärgern. Gruß Jenny
Hallo Jenny.
Wie wärs mit ner Schleife im Stil von
for i=1 to [Anzahl Felder]
If (Request("Feld" & i)<>"") Then
sql="Select ..."
end If
next
Probier das mal aus.
Select Case tuts in diesem Fall nicht, damit kannst du nämlich nur Rückgabewerte überprüfen, aber keine Vergleiche. Also zum Beispiel
Select Case Request("Feld1")
Case 1
sql="Select ..."
Case 2
.
.
.
End Select