---
title: "Ta bort en post med en knapp!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/87993-ta-bort-en-post-med-en-knapp"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "magnusfernstrom"
published: "2003-10-08T14:29:26.000Z"
updated: "2003-10-08T16:00:51.000Z"
replies: 14
views: 361
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/87993-ta-bort-en-post-med-en-knapp"
---

# Ta bort en post med en knapp!

## #1 — magnusfernstrom, 2003-10-08T14:29Z

Hej...
Ser att det finns en liknande tråd i detta forum just nu men jag hittar inte svaret där ändå..eller får det i alla fall inte att fungera.
Det är som så att jag vill ha en länk bredvid varje post så jag snabbt kan radera den.
När man trycker på länken kommer man till denna sida som har följande kod:

```
<%
Id=request.querystring("Id")
Set db = Server.CreateObject("ADODB.Connectio")
db.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("databas.mdb")
SQL = "DELETE * FROM Test WHERE Id = "& Id &"
Set rs = db.Execute(SQL)
Set rs = nothing
Set db = nothing
Response.Redirect "test.asp"
%>
```

Är jag helt ute och cyklar? är detta HELT fel kod eller rör det sig om någon kom som endast fattas?

Mycket tacksam för svar

Permalänk: https://www.webforum.nu/p/87993

## #2 — Peeer, 2003-10-08T14:31Z

```
<%
Id=request.querystring("Id")
Set db = Server.CreateObject("ADODB.Connectio")
db.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("databas.mdb")
SQL = "DELETE FROM Test WHERE Id = "& Id 
db.Execute(SQL)
Set db = nothing
Response.Redirect "test.asp"
%>
```

Så borde fungera (förutsatt att Id är ett numeriskt värde, annars kan du få lite roliga felmeddelanden :)

Permalänk: https://www.webforum.nu/p/1179935

## #3 — Palle, 2003-10-08T14:33Z

Nope, den koden tar bort en post ur en databas - Ja.

Skapa länken brevid varje post, skicka då med postens unika ID från databasen och baka in den som en del av länken.

ex. 

```
[red]<a href=""sida_som_raderar.asp?id="& RecSet("ID") &""">Radera</a>[/red]
```

Permalänk: https://www.webforum.nu/p/1179939

## #4 — magnusfernstrom, 2003-10-08T15:09Z

Nepp det fungerar tyvärr ändå inte:
Jag skickar med hela koden istället!:

sidan "test.asp":

```
<html>
<%
Set db = Server.CreateObject("ADODB.Connection")
db.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("db/block.mdb")
SQL = "SELECT * FROM Test"
Set rs = db.Execute(SQL)
%>
<%
Do Until RS.EOF
%>
<%=rs("Namn")%>
<br>
<a href=""delete.asp?id="& RecSet("Id") &""">Radera</a>
<br>
<br>
<br>
<%
rs.MoveNext
Loop
%>
```

sedan koden för sidan "delete.asp":

```
<%
Id=request.querystring("Id")
Set db = Server.CreateObject("ADODB.Connection")
db.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("databas.mdb")
SQL = "DELETE * FROM Test WHERE Id = "& Id
Set rs = db.Execute(SQL)
Set rs = nothing
Set db = nothing
Response.Redirect "test.asp"
%>
```

Databasen heter som sagt block.mdb och har en tabell som heter Test, samt två kolumner varav en är en Räknare som heter Id och en som är Text som heter Namn.

Permalänk: https://www.webforum.nu/p/1179976

## #5 — Palle, 2003-10-08T15:12Z

> **magnusfernstrom skrev:**
>
> Nepp det fungerar tyvärr ändå inte

Ok, vad är det som inte fungerar?
Felmeddelande?

Permalänk: https://www.webforum.nu/p/1179982

## #6 — magnusfernstrom, 2003-10-08T15:17Z

jaa...alltså när jag trycker på radera så kommer ett "vanligt" meddelande. Alltså "sidan kan inte visas" Nummer 403 Åtkomst nekad i mitt fall :D

Permalänk: https://www.webforum.nu/p/1179987

## #7 — Palle, 2003-10-08T15:20Z

Har du avaktiverat *Visa egna HTTP-felmeddelande* i din webbläsare?
\- Om inte, gör det nu.

Testa detta: 

```
[red]<html>
<body>
<%

Set db = Server.CreateObject("ADODB.Connection")
db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("db\block.mdb")

	Set rs = db.Execute("SELECT Id, Namn FROM Test")
	If NOT rs.EOF Then
		Do Until rs.EOF

			intID = rs("Id")
			strName = rs("Namn")
			Response.Write "<p>"& strName &"<br><a href=""delete.asp?id="& intID &""">Radera</a></p>"

		rs.MoveNext
		Loop
	End If
	rs.Close : Set rs = Nothing

db.Close : Set db = Nothing

%>
</body>
</html>

...

<html>
<body>
<%

Set db = Server.CreateObject("ADODB.Connection")
	db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("db\block.mdb")

		db.Execute("DELETE FROM Test WHERE Id="& trim(Request.Querystring("id"))),,128

	db.Close
Set db = nothing

Response.Redirect "test.asp"

%>
</body>
</html>[/red]
```

Permalänk: https://www.webforum.nu/p/1179989

## #8 — magnusfernstrom, 2003-10-08T15:23Z

Wow tack det funkade. Men varför går det inte med koden jag har skrivit då? Jag menar den kod du skickade med var skilde sig ju relativt mycket från min kod!

Permalänk: https://www.webforum.nu/p/1179990

## #9 — Palle, 2003-10-08T15:28Z

Största skillnaden är nog att du försöker ta bort en post ur fel databas, och eftersom 
du inte avaktiverat egna felmeddelande i din webbläsare så ser du inte vad som är fel.. ;)

Desutom optimerade jag din kod en aning med en stabilare db-provider mm. mm.

Du skrev: 

```
[red]db.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("databas.mdb")[/red]
```

Jag skrev: 

```
[red]db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("db\block.mdb")[/red]
```

Permalänk: https://www.webforum.nu/p/1179997

## #10 — magnusfernstrom, 2003-10-08T15:36Z

Jaha men jag skrev databas.mdb när ja skulle posta det här som exempel...Vet inte varför :D...Men som sagt har du som är bra på ASP nån förklaring tilll varför den kod jag först skrev inte funkar?
Dessutom kommer ett skumt felmeddelande upp efter jag raderat en post nu är det endast en post kvar i databasen och då går det inte att öppna sidan över huvud taget! Fel 500 står det. Och jag hade visst aktiverat Egna felmeddelande :D

Permalänk: https://www.webforum.nu/p/1180002

## #11 — magnusfernstrom, 2003-10-08T15:42Z

nu laddade jag upp databasen igen med alla fem poster i!
Då står det så här på sidan:

```

Namn1
Radera

Namn2
Radera

Namn3
Radera

Namn4
Radera

Namn5
Radera

... 
Microsoft JET Database Engine error '80040e14' 

Syntax error (missing operator) in query expression 'Id='. 

/bannus/test2.asp, line 36
```

om jag tar bort en post kommer jag tillbaks till sidan men då har felmeddelandet försvunnit. Då kan man ihnte radera igen! Då måste man gå tillbaks eller ladda om för att kunna ta bort igen. För då är fel meddelande där igen!

Hoppas du förstod

Permalänk: https://www.webforum.nu/p/1180005

## #12 — @nders, 2003-10-08T15:49Z

En av anledningarna till att din kod tidigare inte fungerade ser du i det här avsnittet, framför allt den fetmarkerade raden.

```
Do Until RS.EOF
%>
<%=rs("Namn")%>
<br>
[b]<a href=""delete.asp?id="& RecSet("Id") &""">Radera</a>[/b]
<br>
<br>
<br>
<%
rs.MoveNext
Loop
```

Möjligen hade det fungerat om du hade skrivit ut länken med response.write, men du har ju avslutat asp-blocket, så du ska skriva vanlig html där.

```
<a href="delete.asp?id=<%= RecSet("Id") %>">Radera</a>
```

\- - - - - - - - - 

ang. ditt sista inlägg; kontrollera alltid med en if-sats att du har fått ett ID som någon vill ska raderas. Inget ID, ingen DELETE-fråga.

Permalänk: https://www.webforum.nu/p/1180011

## #13 — magnusfernstrom, 2003-10-08T15:57Z

> **@nders skrev:**
>
> ang. ditt sista inlägg; kontrollera alltid med en if-sats att du har fått ett ID som någon vill ska raderas. Inget ID, ingen DELETE-fråga.

Skulle jag gärna göra, problemet är att jag ej vet hur man gör! Har du möjligen tid över för att leta upp/skriva den kodsnutt som jag behöver ?

Permalänk: https://www.webforum.nu/p/1180015

## #14 — @nders, 2003-10-08T15:59Z

```
<%
If Request.Querystring("id") <> "" then
    ' Här lägger du koden som raderar ur databasen
End if
%>
```

Permalänk: https://www.webforum.nu/p/1180017

## #15 — magnusfernstrom, 2003-10-08T16:00Z

Jaha tack....Men du det funkade i alla fall med länk koden jag fick av dig!
Tack Peeer, Palle och nu också @nders...
Tur att det finns hjälpsamma människor som ni ;)

Permalänk: https://www.webforum.nu/p/1180018

---

Tråden på webben: https://www.webforum.nu/amne/asp/87993-ta-bort-en-post-med-en-knapp
