21. juli 2003 - 11:47
Der er
3 kommentarer og
2 løsninger
update og insert virker ikke når checkboks er unchecked ?
Hej, jeg er ved at lægge sidste hånd på et arrangementsopdateringsmodul med access og asp, og har lavet det sådan at brugerne skal "godkende" deres arrangement med en checkboks - Det bliver først vist når der er flueben i - Feltet er et ja/nej felt i access og er ikke sat til at være obligatorisk !
Det er altsammen meget fint og jeg har lavet en if sætning der sætter checkboksen til checked hvis værdien er -1 (access checkboksværdi) - Problemet kommer når jeg prøver at unchecke (deaktivere) en post : så får jeg fejlmeddelelsen :
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC Microsoft Access-driver] Datatyperne stemmer ikke overens i kriterieudtrykket.
Jeg har prøvet alt fra at indsætte en standardværdi i access til at bruge et javascript :
<SCRIPT LANGUAGE=javascript>
function checkMe()
{ if (Form1.godkendt.checked) {
Form1.godkendt.value = "-1"
}
else {
Form1.godkendt.value = "0" }
}
</script>
Men fejlen bliver hængende - er der nogen der har været her før og har svaret så ville det hjælpe mig gevaldigt !
MVH Kalaharikid
Ok, det er en større smøre - Men jeg troede egentlig problemet var nulværdien (ikke checked) som access ikke kan forstå ?
dim intDocumentID, strTitle, strContent, strDocBgColor, strStartD, strSlutD, strStartM, strSlutM, strStartY, strSlutY, strSted, strBem, strArr, strTid, strOpr, strGodkendt, strEmail
intDocumentID = Request.Form("txtDocumentID")
strTitle = Replace(Request.Form("txtTitle"),"'","''")
strContent = Replace(Request.Form("txtContent"),"'","''")
strStartD = Request.Form("begdated")
strSlutD = Request.Form("enddated")
strStartM = Request.Form("begdatem")
strSlutM = Request.Form("enddatem")
strStartY = Request.Form("begdatey")
strSlutY = Request.Form("enddatey")
strSted = Replace(Request.Form("sted"),"'","''")
strBem = Replace(Request.Form("bem"),"'","''")
strArr = Replace(Request.Form("arr"),"'","''")
strTid = Request.Form("time") & ":" & Request.Form("minut")
strOpr = Now ()
strDocBgColor = Request.Form("txtDocBgColor")
strGodkendt = Request.Form("godkendt")
'if Request.Form("email") <> "" then
strEmail = Replace(Request.Form("email"),"'","''")
'else
'strEmail = 0
'end if
dim adoCn
dim strSQL
set adoCn = Server.CreateObject("ADODB.Connection")
adoCn.Open MM_connKal_STRING
if Request.QueryString("action") = "save" then
strSQL = "Update t_arr SET titel='" & strTitle & "',"
strSQL = strSQL & "beskrivelse='" & strContent & "',"
strSQL = strSQL & "startdato='" & strStartD & "',"
strSQL = strSQL & "slutdato='" & strSlutD & "',"
strSQL = strSQL & "startmaaned='" & strStartM & "',"
strSQL = strSQL & "slutmaaned='" & strSlutM & "',"
strSQL = strSQL & "startaar='" & strStartY & "',"
strSQL = strSQL & "slutaar='" & strSlutY & "',"
strSQL = strSQL & "sted='" & strSted & "',"
strSQL = strSQL & "bemaerkninger='" & strBem & "',"
strSQL = strSQL & "arrangoer='" & strArr & "',"
strSQL = strSQL & "tid='" & strTid & "',"
strSQL = strSQL & "oprettet='" & strOpr & "',"
strSQL = strSQL & "BgColor='" & strDocBgColor & "',"
strSQL = strSQL & "godkendt='" & strGodkendt & "',"
strSQL = strSQL & "email='" & strEmail & "'"
strSQL = strSQL & " Where Id=" & intDocumentID
adoCn.Execute (strSQL)
'Response.write (strSQL)
Prøv lgie sådan her:
if Request.QueryString("action") = "save" then
strSQL = "Update t_arr SET titel='" & strTitle & "',"
strSQL = strSQL & "beskrivelse='" & strContent & "',"
strSQL = strSQL & "startdato='" & strStartD & "',"
strSQL = strSQL & "slutdato='" & strSlutD & "',"
strSQL = strSQL & "startmaaned='" & strStartM & "',"
strSQL = strSQL & "slutmaaned='" & strSlutM & "',"
strSQL = strSQL & "startaar='" & strStartY & "',"
strSQL = strSQL & "slutaar='" & strSlutY & "',"
strSQL = strSQL & "sted='" & strSted & "',"
strSQL = strSQL & "bemaerkninger='" & strBem & "',"
strSQL = strSQL & "arrangoer='" & strArr & "',"
strSQL = strSQL & "tid='" & strTid & "',"
strSQL = strSQL & "oprettet='" & strOpr & "',"
strSQL = strSQL & "BgColor='" & strDocBgColor & "',"
strSQL = strSQL & "godkendt=" & strGodkendt & ","
strSQL = strSQL & "email='" & strEmail & "'"
strSQL = strSQL & " Where Id=" & intDocumentID
adoCn.Execute (strSQL)
'Response.write (strSQL)
//>Rune