Hej Hej Tja Någon som har någon idé? <b>Sedan går jag in på en admin sida </b> Jag skull dela upp det i två problem:Ta automatiskt bort post från databas som är äldre än en viss tid
Visste inte riktigt vad jag skulle lägga tråden. Jag håller iaf på med ett bildgalleri och vill att bilden automatiskt ska tas bort från databasen efter en timme. Står absolut still i mitt lilla huvud så jag är tacksam av all hjälp jag kan få.
MVHSv: Ta automatiskt bort post från databas som är äldre än en viss tid
Nu placerade du tråden i Access-forumet, så jag antar att det gäller Access också.
Frågor:
- Lagrar du verkligen bilderna i db? Eller är det bara en referens till bilden?
- Det är väldigt kort tid att spara bilderna... är det stor omsättning på dem?
- Kommer du att ha databasen öppen hela tiden? I så fall kan man ju låta ett makro sköta raderingen...
Berätta lite mer innan man kan ge ett svar...
/ PerSv:Ta automatiskt bort post från databas som är äldre än en viss tid
Det är bara en referens till bilden. Sjävla bilden sparas i en mapp på servern. Sedan går jag in på en admin sida och godkänner bilden och då visas den. Satte ihop ett fso objekt men den rensade endast bort bilderna i mappen. Alltså måste den ta bort från databasen ist.Sv: Ta automatiskt bort post från databas som är äldre än en viss tid
Sv:Ta automatiskt bort post från databas som är äldre än en viss tid
Är din admin sida ett Access-formulär eller vad? Det framgår inte av din fråga med vilken teknik du arbetar... endast att du använder FileSystemObject...
Hur som helst... där du raderar bilderna mha FSO, kör en delete mot aktuell tabell i databasen med, typ "DELETE FROM tabell WHERE bildreferensfält=bildreferens"Sv: Ta automatiskt bort post från databas som är äldre än en viss tid
* Inte visa förfallna bilder - Lägg in ett vilkor i din SQL fråga:
SELECT Pictures.*
FROM Pictures
WHERE Pictures.PictureCreated > DateAdd("h", -1, Now())
* Andra problemet är att ta bort poster och filer. Detta är en dyr operation, så jag skulle inte anropa den varje gång sidan körs. Utan i så fall köra den max en gång i timmen. Lägg gärna koden sist i ASP filen och gör en flush innan. Så blir inte användaren drabad.
<code>
'Code expects Option Explit to be true
const CleanUpExpire = "CleanUpExpire"
Application.Lock()
If Application(CleanUpExpire) < Now() Then
Application(CleanUpExpire) = DateAdd("h", 1, Now())
Application.UnLock()
DoCleanUp
Else
Application.UnLock()
End If
Sub DoCleanUp()
Dim strSQL
strSQL = "SELECT Pictures.*" + vbCrLf + _
"FROM Pictures" + vbCrLf + _
"WHERE Pictures.PictureCreated =< DateAdd("h", -1, Now())"
'osv ...
End Sub
</code>