Ved fx. opstart af din database kaldes denne kode. Hvis du opretter en macro med navnet autoexec vil den blive kaldt når du åbner databasen. Din autoexec kalder din oprydnings-metode.
OK! Jeg har en database med mange tabeller. I disse tabeller ligger der forskellige ting og sager med forskellige udløbsdatoer! Fx. \"en ting\" der udløber 05-02-2001! Når denne dato er udløbet/passeret skal \"en ting\" slettes automatisk! Jeg er stadigvæk usikker på hvordan det gøres. Men der skal altså en kode ind i asp-scriptet som gør det - er det rigtigt forstået? Kender I evt. et sted/link hvor jeg kan finde det?
Sub Opryd() dim d as date d = DLookUp(\"Dato\",\"PurgeJobs\",\"TableName=\'TabelXX\') CurrentDb.Execute(\"Delete * from TableXX where DatoFelt < \" & d) End Sub
Privaten: Den koden du skrev; hvis man nu skal rydde op i alle tabeller i db\'en, kan man så ikke skrive * istedet for TableXX?? Så går den jo ind i alle tabeller og sletter posterne hvor datoen er udløbet eller hva\'? Og jeg har ikke heeeelt en db endnu, meen....
Nej du kan ikke skrive * istedet for TabelXX. Du fortæller for hver tabel hvilket felt der indeholder informationen der kan afgøre om rækken skal slettes eller ej. Du er således nødt til at slette i tabel for tabel
Hmm...ok! Så hvis min db har fra tabel 1 til 89, så kan jeg lave en løkke hvor i=1 til at starte med og så sætter jeg den fx. til at stoppe når i=89 - og så kører løkken igennem og plusser 1 hver gang! DELETE * FROM i WHERE osv.....? Kan man det tror du???
Et lille extra spørgsmål: Når jeg har en søgemaskine som skal søge i samme db - kan jeg så ikke sætte den til at søge i alle tabeller ved at sætte en *??? Hvad skal man gøre i stedet for hvis man ikke kan sætte *???
Håber du vil svare - hvis du kan! Du skal nok få alle pointene...
ad 2: Der kan jeg vel i princippet gøre som med autopurge - altså for i=1 to EOF (Hmm... kan man det mon?)! SELECT * FRom \"+str(i)+\" WHERE keyword LIKE \"strKeyword\" ????
Private Sub PurgeAllTables() Dim Tdf As TableDef For Each Tdf In CurrentDb.TableDefs With Tdf If Left(.Name, 4) <> \"MSys\" Then \' Indsæt purge koden her, tabellen hedder Tdf.Name End If End With Next Tdf End Sub
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.