|
 |
 |

Frage: Wie erstelle ich eine Listbox (<select name="...">) aus Werten einer Datenbanktabelle? |
Sie können ganz einfach Listboxen (z.B. als Wertelisten) erstellen. Dafür müssen Sie eigentlich
lediglich etwas in der HTML-Ausgabe ändern. Der ASP-Code bleibt genauso wie bei einer "normalen"
Auflistung von Datensätzen erhalten.
[createlist.asp]
<%
' --- Erstellen der Datenbankverbindung
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "DSN", "UID", "PWD"
' --- SQL-Statement erstellen (DISTINCT gruppiert die Werte, so dass
' --- doppelte Zeilen nicht ausgegeben werden).
SQL = "SELECT DISTINCT <spalte1>, <spalte2> FROM <tabelle>"
' --- Öffnen des Recordsets
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open SQL, objConn, 3, 3
' --- Prüfen, ob mind. 1 Datensatz gefunden wurde
If Not objRS.EOF Then
' --- Ausgabe der Überschrift
Response.Write "<select name=""selTest"" size=""1"">"
' --- Ausgabe der einzelnen Werte in einer Schleife. Auf einer evtl.
' --- Empfangsseite wird der Wert von objRS.Fields("<spalte1>")
' --- übermittelt, da dieser Wert im value-Tag des Listenfelds definiert ist
Do While Not objRS.EOF
Response.Write "<option value=""" & objRS.Fields("<spalte1>") & """>" & objRS.Fields("<spalte2>")
objRS.MoveNext
Loop
' --- Abschliessen der Listbox
Response.Write "</select>"
End if
' --- Schliessen und terminieren des Recordsets
objRS.Close
Set objRS = Nothing
' --- Schliessen und terminieren der Datenbankverbindung
objConn.Close
Set objConn = Nothing
%> |
|
 |
 |
|
|