---
title: "arkivering och borttagning av poster"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/87606-arkivering-och-borttagning-av-poster"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "LR^evil.sid"
published: "2003-10-04T10:07:25.000Z"
updated: "2003-10-04T19:03:13.000Z"
replies: 8
views: 255
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/databaser-sql/87606-arkivering-och-borttagning-av-poster"
---

# arkivering och borttagning av poster

## #1 — LR^evil.sid, 2003-10-04T10:07Z

Tjena! Jag tänkte göra en arkiveringsprocedur men har kört fast. Frågar därför er om ni har någon lösning och om min tanke är rätt angående proceduren.

```
sql = "select count(*) from tabell"
Set rs = con.Execute(sql)

If Int(rs(0) - 100) > 0 Then
	sql = "insert into arkiv select * from tabell order by id desc limit "&rs(0) - 100
	Set rs = con.execute(sql)
[b]line 27[/b]	While Not rs.eof
		sql = "delete from tabell where id = "&rs(0)
		con.execute(sql)
		rs.MoveNext
	WEnd
End If
```

Felmeddelande

```
ADODB.Recordset fel '800a0e78' 
Åtgärden är inte tillåten när objektet är stängt. 
/pagin/index.asp, line 27
```

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

## #2 — Sebbe, 2003-10-04T10:50Z

Det här borde nog gå bättre:

```
sql = "select count(*) from tabell"
Set rs = con.Execute(sql)

If Int(rs(0) - 100) > 0 Then
	sql = "insert into arkiv select * from tabell order by id desc limit "&rs(0) - 100
	con.execute(sql)

	Set rs2 = con.execute("select * from tabell order by id desc limit "&rs(0) - 100)
	While Not rs2.eof
		sql = "delete from tabell where id = "&rs2("id")
		con.execute(sql)
		rs.MoveNext
	WEnd
End If
```

Testas på egen risk! ;)

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

## #3 — LR^evil.sid, 2003-10-04T18:21Z

Jag måsta alltså använda två recordset för att göra detta?

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

## #4 — Sebbe, 2003-10-04T18:24Z

Eftersom jag inte riktigt fattar vad du ska göra vet jag inte, men när jag kollade på din kod såg det ut som om det var sådär du ville göra det. :)

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

## #5 — LR^evil.sid, 2003-10-04T18:29Z

Hoppsan! Måste varit trött när jag skrev denna fråga.

Vad jag vill göra är att plocka ut alla poster efter de första hundra, placera dem i en annan tabell och sedan ta bort posterna från ursprungstabellen.

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

## #6 — Sebbe, 2003-10-04T18:41Z

Funkar koden jag skrev innan eller är det något fel i den? (Skulle vara bra att veta om man ska skriva om den ;))

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

## #7 — LR^evil.sid, 2003-10-04T18:47Z

Jo, visst fungerar den. Jag tänkte bara om det gick att göra det utan två recordset eftersom du i insert into redan skrivit select \* from

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

## #8 — Sebbe, 2003-10-04T18:51Z

> **LR^evil.sid skrev:**
>
> Jo, visst fungerar den. Jag tänkte bara om det gick att göra det utan två recordset eftersom du i insert into redan skrivit select \* from

Jo, men det är en "version" av INSERT INTO, inte en SELECT-sats. :)

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

## #9 — LR^evil.sid, 2003-10-04T19:03Z

Ok, tack för hjälpen.

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/87606-arkivering-och-borttagning-av-poster
