Der Code passt jetzt nicht ganz mit deiner ursprünglichen Fragestellung zusammen.
Aber ich vermute, dass du ebenso in der Matrix-Tabelle der MDB ein Feld strBemerkung hast, welches du updaten willst.
In welcher Zeile tritt jetzt der Fehler auf? Aber ich glaube es auch schon so gefunden zu haben ....
Fangen wir vorne in editStatus.asp an:
Du belegst am Anfang lngPersonKursMatrixID aus dem Request des Querystrings. Schreibe eindeutiger: Request.QueryString("lngPersonKursMatrixID")
Die ID wird dann versteckt im Formular angezeigt, okay. Der name ist aber wahrscheinlich nicht korrekt:
<input type="hidden" name="lngUserID" value="<%= lngPersonKursMatrixID %>" />
In der sqlStatus.asp belegst du wieder die Variable lngPersonKursMatrixID = Request("lngPersonKursMatrixID")
Die URL enthält aber jetzt den Parameter nicht mehr, daher wird die ID leer bleiben.
Diese musst du aus dem Formularfeld holen: lngPersonKursMatrixID = Request.Form("lngUserID")
Ebenso bei der bemerkung entsprechend: strBemerkung = Request.Form("strBemerkung")
Eigentlich sollte dann auch das Update im ersten If-Zweig funktionieren, wenn du noch das überflüssige einfache Anführungszeichen entfernst in:
sSql = "Update tabUserKursMatrix set strBemerkung = '" &
strBemerkung & "'' where lngPersonKursMatrixID = " &
lngPersonKursMatrixID
genau da: ...erkung & "'' wher...
Die Fehlermeldung war sicher etwas irreführend, weil du durch die vorgenannten Probleme im else-Zweig gelandet sein wirst.
Dort wird das insert nicht funktionieren, mit dem du einen neuen Datensatz anlegen würdest, weil die ID des Users fehlt.
Mangels Möglichkeiten zum debuggen kannst du dir in solchen Fällen an passender Stelle zum Beispiel ein:
Response.write "lngPersonKursMatrixID=" & lngPersonKursMatrixID
Response.end()
einbauen. Dann müsste eigentlich schnell klar sein, dass dir die ID unterwegs verloren gegangen ist ;-)
Grüße, Arno.