Jag har ett problem med min asp-kod. Jag har en sida med frågor som är kopplade till en access databas där frågorna sparas. Jag vill kunna ta bort en post så den inte syns på sidan men även ska tas bort från databasen. Jag har lagt in en länk som man klickar på för att ta bort posten som visas och då kommer det upp en confirmbox där man kan välja ok eller avbryt. När jag avbryter så kommer jag tillbaka till sidan (inget händer) och när jag klickar på OK så ska jag komma till en sida som inte visas utan bara tar bort posten och sedan omdirigerar till en sida där det står att posten är borttagen. Koden jag har skrivit in ser ut så här:
<% option explicit%>
<% dim koppling, sql, id
id=request.form("id")
set koppling=server.createobject("adodb.connection")
' koppling.open("wordtest.mdb") ELLER
koppling.open("driver={microsoft access driver (*.mdb)}; dbq="&server.mappath("wordtest.mdb"))
sql="delete * from tbwordtest where id=" & id & ";"
koppling.execute(sql)
response.redirect("tabort2.asp")
koppling.close
set koppling=nothing
%>
Ligger textfältet "id" innanför <form> taggen på den förra sidan? Annars kan du inte använda request.form
<% option explicit%>
<% dim koppling, sql, id
id=request.form("id")
set koppling=server.createobject("adodb.connection")
' koppling.open("wordtest.mdb") ELLER
koppling.open("driver={microsoft access driver (*.mdb)}; dbq="&server.mappath("wordtest.mdb"))
[b]sql="delete * from tbwordtest where id=" & id[/b]
koppling.execute(sql)
response.redirect("tabort2.asp")
koppling.close
set koppling=nothing
Tack för ditt snabba svar.
Nej, id ligger inte i >form>. Koden ser ut på detta sätt:
<% option explicit %>
<% dim id
id=request.querystring("id")
dim koppling
dim sql
dim rslista
set koppling=server.createobject("adodb.connection")
'koppling.open("koppladbwordtest") ELLER
koppling.open("driver={microsoft access driver (*.mdb)}; dbq="&server.mappath("wordtest.mdb"))
sql="select * from tbwordtest where id="& id &";"
set rslista=koppling.execute(sql)
%>
<HTML>
<body bgcolor="#C0C0C0">
<body bgcolor="#C0C0C0">
<STYLE TYPE="TEXT/CSS">
<!--
A:Hover { color: #666666 }
A { text-decoration: none; color: #000000}
-->
</STYLE>
<b>Svar från:</b> <%=rslista("anvnamn")%> <%=rslista("fnamn")%> <%=rslista("enamn")%>
den <%=rslista("datum")%> kl <%=rslista("tid")%> <br><br>
<b>Fråga 1</b>, <%=rslista("fraga1")%><br>
<b>Fråga 2</b>, <%=rslista("fraga2")%><br>
<b>Fråga 3</b>, <%=rslista("fraga3")%><br>
<b>Fråga 4</b>, <%=rslista("fraga4")%><br>
<b>Fråga 5</b>, <%=rslista("fraga5")%><br>
<b>Fråga 6</b>, <%=rslista("fraga6")%><br>
<b>Fråga 7</b>, <%=rslista("fraga7")%><br>
<b>Fråga 8</b>, <%=rslista("fraga8")%><br>
<b>Fråga 9</b>, <%=rslista("fraga9")%><br>
<b>Fråga 10</b>, <%=rslista("fraga10")%><br>
<br><br><br>
<a href="visa.asp"> Tillbaka till listan </A>
<br><br><br>
<a href="tabort.asp?id=<%=id%>" onClick="alert('ÄR det säkert att du vill ta bort den här posten?;"> Ta bort </A>
</Body>
</HTML>
<% koppling.close
set koppling=nothing
%>
Men du använder Request.Querystring om du vill hämta ett värde som ligger i en adress
t ex:
<a href="sida.asp?id=<%=RecordSet("id")%>
<% option explicit%>
<% dim koppling, sql, id
id=Request.Querystring("id")
set koppling=server.createobject("adodb.connection")
' koppling.open("wordtest.mdb") ELLER
koppling.open("driver={microsoft access driver (*.mdb)}; dbq="&server.mappath("wordtest.mdb"))
sql="delete * from tbwordtest where id=" & id
koppling.execute(sql)
response.redirect("tabort2.asp")
koppling.close
set koppling=nothing
<% option explicit %>
<% dim id
id=request.querystring("id")
dim koppling
dim sql
dim rslista
set koppling=server.createobject("adodb.connection")
'koppling.open("koppladbwordtest") ELLER
koppling.open("driver={microsoft access driver (*.mdb)}; dbq="&server.mappath("wordtest.mdb"))
sql="select * from tbwordtest where id="& id &";"
set rslista=koppling.execute(sql)
%>
<HTML>
<body bgcolor="#C0C0C0">
<STYLE TYPE="TEXT/CSS">
<!--
A:Hover { color: #666666 }
A { text-decoration: none; color: #000000}
-->
</STYLE>
<b>Svar från:</b> <%=rslista("anvnamn")%> <%=rslista("fnamn")%> <%=rslista("enamn")%>
den <%=rslista("datum")%> kl <%=rslista("tid")%> <br><br>
<b>Fråga 1</b>, <%=rslista("fraga1")%><br>
<b>Fråga 2</b>, <%=rslista("fraga2")%><br>
<b>Fråga 3</b>, <%=rslista("fraga3")%><br>
<b>Fråga 4</b>, <%=rslista("fraga4")%><br>
<b>Fråga 5</b>, <%=rslista("fraga5")%><br>
<b>Fråga 6</b>, <%=rslista("fraga6")%><br>
<b>Fråga 7</b>, <%=rslista("fraga7")%><br>
<b>Fråga 8</b>, <%=rslista("fraga8")%><br>
<b>Fråga 9</b>, <%=rslista("fraga9")%><br>
<b>Fråga 10</b>, <%=rslista("fraga10")%><br>
<br><br><br>
<a href="visa.asp"> Tillbaka till listan </A>
<br><br><br>
<a href="tabort.asp?id=<%rslista("id")%>" onClick="alert('Vill du verkligen ta bort den här posten?;")>Ta bort</a>
</Body>
</HTML>
<% koppling.close
set koppling=nothing
%>
och på sidan tabort.asp där posten ska tas bort denna kod:
<% option explicit%>
<% dim koppling, sql, id
id=Request.Querystring("id")
set koppling=server.createobject("adodb.connection")
' koppling.open("wordtest.mdb") ELLER
koppling.open("driver={microsoft access driver (*.mdb)}; dbq="&server.mappath("wordtest.mdb"))
sql="delete * from tbwordtest where id=" & id
koppling.execute(sql)
response.redirect("tabort2.asp")
koppling.close
set koppling=nothing
%>
Felmeddelandet jag får är nu på rad 56 (har tagit bort en del tomma rader)...
Och det står då:
Microsoft VBScript runtime error '800a01c2'
Wrong number of arguments or invalid property assignment
visa2.asp, line 56
Så det är något skumt i länk-koden som jag inte lyckas få till men har testat alla förslag jag fått ovan och ändrat så är det någon som vet hur jag ska få till det så blir jag väldigt glad...
Har ytterligare en fråga gällande det här nu...
Jag har ju fått det att fungera när jag har en alertbox som visas och frågar om jag vill ta bort koden ser ut så här:
<a href="tabort.asp?id=<%= rslista("id") %>" onClick="alert('Vill du verkligen ta bort den här posten?');">Ta bort</a>
Men jag vill att det ska komma upp en confirmbox när jag klickar på tabort där jag kan välja att klicka på avbryt för att då komma tillbaka till sidan och om jag klickar på ok så ska jag komma till sidan tabort.asp
Bara ett tips:
Du skall acceptera det svaret i tråden som löste ditt problem, detta för att underlätta
sökningar på uppklarade trådar, inte bara markera ett svar ur mängden. :)
Var det många frågor som du fick svar på i tråden,
markera då det svar som löste din först skapade fråga.