Du har lite väl många citationstecken runt din action (och method) i <form>-taggen. Det innebär att formuläret postas till aktuell sida (1.asp), utan att ha angett metod, innebärande att det blir till GET.
Mvh
11 svar · 383 visningar · startad av plelkes
... det enda som händer är att samma sida (1.asp) laddas igen när jag trycker på knappen. Och jag som trodde att jag gjorde enligt alla konster...
1.asp
<%@ Language=VBScript LCID=1053%>
<HTML><title>utskrivning</title>
<BODY>
<h1 align="center"><font size="7" face="Verdana, Arial, Helvetica, sans-serif"><em><strong><u>utskrivning av Patienter</u></strong></em></font></h1><BR>
<%
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("\vatskebalans\db\vbalans.mdb")
strSQL =" SELECT * FROM tblPersonuppgifter "
%>
<FORM ACTION=""radera.asp"" METHOD=""post"">
<TABLE border=1>
<TR>
<TD><B>Personnummer</B></TD>
<TD><B>Efternamn</B></TD>
<TD><B>Förnamn</B></TD>
<TD><B>Skriv ut patienten</B></TD>
</TR>
<%
Set objRS = objConn.Execute(strSQL)
Do While Not objRS.EOF
Response.Write "<TR><TD>" & objRS("PatID") & "</TD>"
Response.Write "<TD>" & objRS("ftEnamn") & "</TD>"
Response.Write "<TD>" & objRS("ftFnamn") & "</TD>"
Response.Write "<TD><INPUT NAME=""delete"" TYPE=""checkbox""VALUE="""& objRS("PatID") &"""></TD></TR>"
objRS.MoveNext
Loop
Response.Write "<TR ALIGN=""RIGHT"" VALIGN=""MIDDLE"">"
Response.Write "<TD COLSPAN=""3"">"
Response.Write "<INPUT TYPE=""submit"" VALUE=""Skriv ut patienten"">"
Response.Write "</TD></TR>"
Response.Write "</TABLE></FORM>"
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
%>
</BODY>
</HTML>
radera.asp
<%
Set vatskeb = Server.CreateObject( "Adodb.Connection" )
vatskeb.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath("\vatskebalans\db\vbalans.mdb")
vatskeb.ConnectionString = "Data Source='" & MdbFilePath & "'"
vatskeb.open
strSQL = "DELETE FROM tblPersonuppgifter WHERE PatID IN("&request.form("delete")&")"
vatskeb.Execute strSQL, , 128
vatskeb.close
Set vatskeb = Nothing
Response.Redirect "meny.htm"
%>
Du har lite väl många citationstecken runt din action (och method) i <form>-taggen. Det innebär att formuläret postas till aktuell sida (1.asp), utan att ha angett metod, innebärande att det blir till GET.
Mvh
<INPUT NAME=""delete"" TYPE=""checkbox""VALUE="""& objRS("PatID") &""">
bör i första hand skrivas om till
<INPUT NAME=""delete"" TYPE=""checkbo[b]x"" VA[/b]LUE="""& objRS("PatID") &""">
Du har glömt ett mellanslag. Sen så har du ju för många " i din HTML-kod för formuläret.
Annars kan jag direkt inte se något fel. :)
/r @nders..
Ska vara ett mellanrum mellan checkbox"" och VALUE.
Vad använder du IN för, borde du inte köra med WHERE PatID = " & Request.Form("delete") & "?
Mika3l skrev:
Vad använder du IN för, borde du inte köra med WHERE PatID = " & Request.Form("delete") & "?
Det använder han för att kunna radera fler poster på samma gång (alla vars kryssrutor markerats), så det är helt i sin ordning.
mvh
Hej igen,
nu har jag gjort som @nders och m_soderlund reomnederade...
Men nu ogillas kodraden
vatskeb.Execute strSQL, , 128
På vilket sätt ogillas den? Felmeddelande samt utskriven SQL-fråga tack. :)
felmeddelande
Microsoft JET Database Engine error '80040e07'
Data type mismatch in criteria expression.
/vatskebalans/radera.asp, line 8
Syntax error (missing operator) in query expression 'PatID IN()'.
Vad är patID för datatyp? Om det är text måste du slänga in apostrofer runt varje id. Men det bör inte vara av texttyp.
Response.Write "<TD><INPUT NAME=""delete"" TYPE=""checkbox""VALUE=""'"& objRS("PatID") &"'""></TD></TR>"
mvh
utskriven SQLfråga:
DELETE FROM tblPersonuppgifter WHERE PatID IN(1111111111)
@nders skrev:
Vad är patID för datatyp? Om det är text måste du slänga in apostrofer runt varje id. Men det bör inte vara av texttyp.
jo, tyvärr så är det text...
Varför bör det inte vara det??
Eller var det du som hade personnummer där? Isåfall måste du ha text ja. :)
Jag lurades av namnet med ID, det brukar innebära ett enkelt tal, och då bör ju helt klart datatypen vara tal.
Testade du koden i mitt förra inlägg?
@nders skrev:
Om det är text måste du slänga in apostrofer runt varje id
Som vanligt så ger du mig perfekt lösning :birp