Hi Tom,
Du möchtest ein HTML-Formular zur Bearbeitung für den Benutzer generieren. Dieses Formular soll mit den vorhandenen Werten aus der Datenbank vorbelegt werden.
Dieses Formular wird nach dem Absenden durch den Benutzer von einem weiteren ASP-Skript übernommen und die geänderten Werte in die DB eingetragen.
Ist diese Aufgabenstellung so richtig?
Nicht ganz. Das Formular ist leer. Es findet nur ein Eintrag in eine Datenbank statt. Kein Update oder sonstiges.
Besser wäre hier, wenn Du die Felder bennenen würdest, anstelle den * zu verwenden, da das Feld AnredeID 2x vorkommt.
z.B:
SQL = "Select T_Anrede.AnredeID, T_Anrede.Anrede, T_Anmeldung.AnmeldeID, T_Anmeldung.Name FROM T_Anmeldung INNER JOIN T_Anrede ON T_Anrede.AnredeID = T_Anmeldung.AnredeID where [TitelAbst] = '"&Request.Form("TitelAbst")&"'"
Puh, das sind aber ein haufen. Das soll eine Anmeldung für einen Kongress werden, bei dem die Leute auch noch Abstracts eintragen können. Das sind so ca. 15-20 Felder. Deshalb isses mir lieber mit dem *.
Je nach ausgewähltem Datensatz soll die Listbox mit 'Frau' oder 'Herr' vorbelegt sein.
Dies realisierst Du mit folgendem ASP-Code (VBScript):
In dem Script gehst Du davon aus, das die Felder vorbelegt sind, oder? Wie gesagt, die Leute sollen sich nur eintragen. Nach dem Eintrag wird eine Seite mit den eingetragenem erstellt. Das macht eigentlich nur Sinn, wenn man diesen Eintrag noch ändern kann. Vielleicht werf ich das auch raus.
Die gepostete Seite ist die ASP-Seite, d.h. Die Formulardaten werden an diese Seite übertragen und von dort werden Sie in die Datenbank geschrieben.
Das funktioniert ja auch, das ist ja nicht das Problem. Das Problem war ja nur, das die AnredeID angezeigt wird und nicht die Anrede.
Ich übergebe über das formular die ID an AnredeID. Möchte aber die Anrede anzeigen lassen, also nach dem Eintrag.
Natürlich könnte man die ID beim Auslesen und Herr/Frau wandeln lassen, so nach der Art
if ID = 1 then Frau else Mann oder so ähnlich, aber geht es nicht allein über SELECT ..... ??
Gruß
Viktor