Accept af blankt felt
Ærede eksperterJeg skal i en form spørge på, om den værdi, der lige er blevet indtastet før der blev trykket send er OK.
Det drejer sig om ét enkelt felt, som enten skal bestå af 9 cifre eller være blankt. Databasen er OK; der står nej i "obligatorisk felt", men alligevel får jeg 80020005:Type mismatch, når jeg spørger på, om længden af feltet er 0, 9 eller andet.
Hvad er hemmeligheden, hvis jeg vil have den til at acceptere 0 og 9, men alt andet resulterer i response.end
(søg evt. på select case, da jeg kun bruger det i et område)
Forslag til anden fremgangsmåde modtages.
MVH
Per
KODE:
:::::::::::::
<head>
<!-- #INCLUDE FILE="checklogin.asp" -->
<!-- #INCLUDE FILE="common.asp" -->
<title>Projects</title>
<script type="text/javascript" src="datepickercontrol.js"></script>
<meta name="Generator" content="Stone's WebWriter 4">
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=ISO-8859-1">
<META HTTP-EQUIV="Content-language" CONTENT="dan">
<link type="text/css" rel="stylesheet" href="datepickercontrol.css">
</head>
<body onload="document.forms[0].projktrl.focus()">
<!-- #INCLUDE FILE="nav.asp" -->
<%
filename = "projects.asp"
filenameaction = "editproject.asp"
keyname = "projects"
tablename = "tblproj"
'delete project
if request.querystring("delete") = 1 then
id = trim(request.querystring("id"))
projrand = trim(request.querystring("projrand"))
set Conn = server.createobject("adodb.connection")
Conn.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & dbPath
mySQL = "Delete FROM " & tablename & " where id = " & id & " and projrand = '" & projrand & "';"
conn.execute(mySQL)
closeconn()
response.redirect(filename)
end if
'update project if form is sent.
if request.form("formid") <> "" then
id = request.form("formid")
set Conn = server.createobject("adodb.connection")
Conn.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & dbPath
Set rs = Server.CreateObject("ADODB.RecordSet")
Select case len(request.form("projdocu"))
case "0"
response.write "OK"
case "9"
response.write "OK"
case else
response.write "<br><p>Feltet Doculive nummer skal enten bestå af 9 cifre.<br><a href=""#"" onclick=""javascript(history.go(-1));"">Tilbage</a></p>"
response.end
End select
select case left(request.form("projdocu"),4)
case "1999"
response.write "OK"
case "2005"
response.write "OK"
case else
response.write "<br><p>Kontroller feltet Doculive nummer. Det SKAL starte med 1999 eller 2005.<br><a href=""#"" onclick=""javascript(history.go(-1));"">Tilbage</a></p>"
response.end
end select
mainSQL = "Select * from " & tablename & " where id = " & id & ";"
'response.write mainsql
rs.Open mainSQL, Conn, 1, 3
if isdate(request.form("projdate")) then
'empty checkbox is not passed so set to nothing by default first.
rs("projprivate") = ""
For Each strItem In Request.Form
execute("rs(" & CHR(34) & strItem & CHR(34) & ") = request.form(" & CHR(34) & strItem & CHR(34) & ")")
Next
updated = 1
else
updated = 2
end if
rs.Update
closers()
closeconn()
response.redirect("editproject.asp?id=" & id & "&updated=" & updated & "&time=" & time())
end if
id = request.querystring("id")
showprojlastuser = Request.Cookies("stampedname")
'display project
set Conn = server.createobject("adodb.connection")
Conn.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & dbPath
Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "Select tblgruppe.gruppe, tblled.projled, tblproj.id, tblproj.projname, tblproj.projdate, tblproj.projdesc, tblcat.category, tblstatus.status, tblproj.projorder, tblproj.projlastuser, tblproj.projlastdate, tblproj.projprivate, tblproj.projrand, tblproj.projktrl, tblproj.projdocu from tblgruppe,tblled,tblproj,tblcat,tblstatus where tblproj.projcategory = tblcat.id AND tblproj.projstatus = tblstatus.id AND tblproj.id = " & id & " AND tblproj.projgruppe = tblgruppe.id AND tblproj.projleder = tblled.id order by tblproj.projorder;"
'Response.Write strSQL
'response.end
rs.Open strSQL, conn,1
count = rs.recordcount
if count <> 1 then
closers()
closeconn()
response.redirect(filename)
end if
For fnum = 0 To rs.Fields.Count-1
execute(rs.Fields(fnum).Name & " = rs(" & CHR(34) & rs.Fields(fnum).Name & CHR(34) & ")")
Next
closers()
closeconn()
'private setting checking
if projprivate = "on" and Request.Cookies("stampedname") <> projlastuser then
response.write "<p class='red'>This is a private project, you do not have permission to view it.</p>"
response.end
end if
upd = request.querystring("updated")
select case upd
case "1"
response.write "<p class='red'>updated</p>"
response.redirect "projects.asp"
case "2"
response.write "<p class='red'>invalid date</p>"
end select
%>
<form action="editproject.asp" method="post">
<%=tablehead%>
<input type="hidden" id="DPC_TODAY_TEXT" value="I dag">
<input type="hidden" id="DPC_BUTTON_TITLE" value="Åbn kalender...">
<input type="hidden" id="DPC_MONTH_NAMES" value="['Januar', 'Februar', 'Marts', 'April', 'Maj', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'December']">
<input type="hidden" id="DPC_DAY_NAMES" value="['Søn', 'Man', 'Tir', 'Ons', 'Tor', 'Fre', 'Lør']">
<tr>
<td><strong>Kontrolnummer</strong></td>
<td valign="top"><input type="text" name="projktrl" value="<%= projktrl %>" size="20" maxlength="20"> </td>
</tr>
<tr>
<td><strong>Navn</strong></td>
<td valign="top"><input type="text" name="projname" value="<%= projname %>" size="45" maxlength="50"> </td>
</tr>
<tr>
<td><strong>DocuLive nummer</strong></td>
<td valign="top"><input type="text" name="projdocu" value="<%= projdocu %>" size="9" maxlength="9"> </td>
</tr>
<tr>
<td><strong>Forventet syn</strong></td>
<td valign="top"><input type="text" name="projdate" id="DPC_date1" value="<%= projdate %>" size="12"> </td>
</tr>
<tr>
<td title="category"><strong>Kategori</strong></td>
<td valign="top">
<select name="projcategory">
<%call makecombo(category,"tblcat","category")%>
</select>
</td>
</tr>
<tr>
<td title="gruppe"><strong>Gruppe</strong></td>
<td valign="top">
<select name="projgruppe">
<%call makecombo(gruppe,"tblgruppe","gruppe")%>
</select>
</td>
</tr>
<tr>
<td title="projektleder"><strong>Projektleder</strong></td>
<td valign="top">
<select name="projleder">
<%call makecombo(projled,"tblled","projled")%>
</select>
</td>
</tr>
<tr>
<td title="status"><strong>Status</strong></td>
<td valign="top">
<select name="projstatus">
<%call makecombo(status,"tblstatus","status")%>
</select>
</td>
</tr>
<tr>
<td valign="top"><strong>Bemærkninger</strong></td>
<td valign="top"><textarea cols="48" rows="4" name="projdesc" class="formfont"><%= projdesc %></textarea> </td>
</tr>
<tr>
<td title="optional sort order critera"><strong>Sortér</strong></td>
<td valign="top" title="Alternative sorteringsrækkefølger"><input type="text" name="projorder" value="<%= projorder %>" size="3"> </td>
</tr>
<!--
<tr>
<td title="only last user can view and edit"><strong>Arkivér</strong></td>
<td valign="top" title="Kun den seneste bruger kan se og redigere"><%=yesno(projprivate,"projprivate")%> </td>
</tr>
-->
<tr>
<td title="date record last updated"><strong>Sidst ændret</strong></td>
<td valign="top" title="Dato for seneste opdatering"><%= projlastdate %> </td>
</tr>
<tr>
<td title="last user who updated the project"><strong>Seneste bruger</strong></td>
<td valign="top" title="Den seneste bruger, som opdaterede projektet"><%= projlastuser %> </td>
</tr>
</table>
<input type="hidden" name="projlastdate" value="<%=now()%>">
<input type="hidden" name="projlastuser" value="<%=showprojlastuser%>">
<input type="hidden" name="projrand" value="<%=randgen()%>">
<input type="hidden" name="formid" value="<%=id%>">
<hr><input type="submit" value="Opdater" class="buttons">
</form>
<p style="text-align:right"><a href="editproject.asp?delete=1&id=<%=id%>&projrand=<%=projrand%>" onclick="return confirm('Vil du virkelig slette projektet? Det vil alle kunne re-etableres.')" class='red'>Slet projektet.</a></p>
</body>
