Avatar billede petercardel Nybegynder
30. januar 2002 - 00:25 Der er 11 kommentarer og
1 løsning

Hvordan ryder man op i sin Access database vis ASP?

Hej alle

Jeg har en stor nyhedsdatabase som selvfølgelig bliver større og større...er der en smart måde via hvorpå man kan sikre sig at antallet af records ikke overstiger et forudbestemt tal (f.eks. max 500 records)?

/Peter
Avatar billede petercardel Nybegynder
30. januar 2002 - 00:26 #1
I overskriften skal stå via ASP og ikke vis ASP
Avatar billede coltau Juniormester
30. januar 2002 - 00:27 #2
Det skal skrives i asp-kode. Evt. med kommandoen RS.RecordCount og kan udføres før når man vælger en side hvor man kan indsætte i databasen.
Avatar billede petercardel Nybegynder
30. januar 2002 - 00:32 #3
Jeg mener ikke, hvordan man bestemmer hvor mange sider der skal vises...men er der en slags rutine, hvor der automatisk slettes records i databasen, så der hele tiden er de max 500 nyeste records?
Avatar billede coltau Juniormester
30. januar 2002 - 00:39 #4
Det mente jeg heller ikke. (Antal sider der skal vises.)

Jeg mener at der skal skrives en rutine i asp der på forudbestemte tidspunkter sikre at der kun er 500 poster.
Rutinen kan evt. indsættes i forbindelse med at der puttes poster i databasen. Sådan en kontrol tager jo ikke meget tid. (Resourser)
Avatar billede petercardel Nybegynder
30. januar 2002 - 00:42 #5
...godt så snakker vi om det samme :o)
Har du forslag eller eks. på hvordan det kunne laves...har du set det i praksis nogle steder?
Avatar billede kornfreak Nybegynder
30. januar 2002 - 07:24 #6
Du kan lave en lille function i stil med:
Function DeleteByNumb( ByVal Numb )
    Dim Count
   
    Count = 0
    SQL = "SELECT * FROM tabel ORDER BY ID DESC"
    Set Rs = Conn.Execute( SQL )
    Do While Rs.Eof <> True
        Count = Count + 1
        If Count => Numb Then
            Conn.Execute("DELETE FROM tabel WHERE ID = " & Rs("ID"))
        End If
    Rs.MoveNext
    Loop
End Function


Som du så kalder når du poster data i databasen med:

Call DeleteByNumb(500)
Avatar billede kornfreak Nybegynder
30. januar 2002 - 07:24 #7
Ps. Det er utestet :)
Avatar billede burningice Nybegynder
30. januar 2002 - 09:40 #8
kornfreak>> du skal nok lave en sub istedet for funktion!

Sub DeleteByNumb( ByVal Numb )
    Dim Count
   
    Count = 0
    SQL = "SELECT * FROM tabel ORDER BY ID DESC"
    Set Rs = Conn.Execute( SQL )
    Do While Rs.Eof <> True
        Count = Count + 1
        If Count => Numb Then
            Conn.Execute("DELETE FROM tabel WHERE ID = " & Rs("ID"))
        End If
    Rs.MoveNext
    Loop
End Sub
Avatar billede freedom Nybegynder
30. januar 2002 - 10:14 #9
hvad er en sub    kan man lave en knap som sletter noget når man trykker på en I samme script!!!når det er loadet
Avatar billede burningice Nybegynder
30. januar 2002 - 11:23 #10
freedom>> en sub er en subrutine som indeholder kode som udføres når den kaldes. En funktion er næsten det samme som sub, men kan returnere en værdi

Når man kalder en sub bruger man Call [navnet_på_sub](paramtre) mens en funktion oftest kaldes med Response.Write [navn_på_funktion](parametre)
Avatar billede cool_casper Nybegynder
30. januar 2002 - 12:23 #11
Kan gøres meget mere simpelt...!!!!

Conn.Execute("DELETE * FROM tabel")

Nemt, ikk!
Avatar billede burningice Nybegynder
30. januar 2002 - 15:18 #12
cool_casper>> hmmm... tjaa, hvorfor ikke... eller måske DROP tabel, så har man i hvert fald ikke problemet med at den bliver fyldt op igen
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