Avatar billede nissetec Nybegynder
31. maj 2005 - 14:54 Der er 3 kommentarer og
1 løsning

Accept af blankt felt

Ærede eksperter

Jeg 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">&nbsp;</td>
</tr>
<tr>
    <td><strong>Navn</strong></td>
    <td valign="top"><input type="text" name="projname" value="<%= projname %>" size="45" maxlength="50">&nbsp;</td>
</tr>
<tr>
    <td><strong>DocuLive nummer</strong></td>
    <td valign="top"><input type="text" name="projdocu" value="<%= projdocu %>" size="9" maxlength="9">&nbsp;</td>
</tr>
<tr>
    <td><strong>Forventet syn</strong></td>
    <td valign="top"><input type="text" name="projdate" id="DPC_date1" value="<%= projdate %>" size="12">&nbsp;</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>&nbsp;</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">&nbsp;</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")%>&nbsp;</td>
</tr>
-->
<tr>
    <td title="date record last updated"><strong>Sidst ændret</strong></td>
    <td valign="top" title="Dato for seneste opdatering"><%= projlastdate %>&nbsp;</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 %>&nbsp;</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>
Avatar billede nissetec Nybegynder
31. maj 2005 - 14:55 #1
Nå, jeg ville have clippet lidt i det, men OK. Nu fik I det hele :) Sorry
Avatar billede thesurfer Nybegynder
31. maj 2005 - 16:21 #2
Resultatet af len(request.form("projdocu")) er jo et tal.. og der skal derfor ikke "" uden om.. prøv:

  case 0
      response.write "OK"
  case 9
      response.write "OK"
  case else

/theSurfer
Avatar billede nissetec Nybegynder
06. juni 2005 - 09:14 #3
Arh, sæføli. Takker. Og undskyld ventetiden... Hvis du smider et svar får du også point :)
Avatar billede thesurfer Nybegynder
06. juni 2005 - 17:52 #4
Det gør jeg da bare :-)

/theSurfer
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester