24. juni 2004 - 09:25Der er
10 kommentarer og 2 løsninger
periodisk overførsel fra tabel til tabel
Jeg har en tabel der vokser og vokser, og databasen er snart alt for stor. Tabellen bliver fyldt med records som indeholder: - kundenr (fremmednøgle) - kontaktperson - besked - tid og andre irelevante ting...
Den omtalte tabel bliver benyttet til at udregne antallet af beskeder pr. periode og pr. kundenr. F.eks. kundenr 8833 har i perioden 01.10.04 - 31.10.04 haft 344 beskeder.
Min ide er at lave en tabel hvor jeg (ved periodens afslutning, eller ved et knappetryk) får overført resultatet af ovenstående udregningninger til en seperat tabel, så det var nemmere at overskue. Jeg har lidt i tankerne at lave en "insert into" forespørgesel og opretter en tabel til formålet, og smider data'erne ned i en tabellen... Hvad er jeres tanker omkring dette??
If you need to have access to further information on each record then it needs to be available. Otherwise you could have a SUM table which gets updated at intevals whereafter the records used in the SUM get deleetd or maybe transfered into another dB as backup.
Det er ikke nogen dårlig ide at 'dumpe' gamle data i en seperat tabel (gerne i en helt anden database). Man skal bare gøre sig klart, at det så er lidt mere besværligt at kigge i de gamle data.
Man skal endvidere være opmærksom på at sikre koden mod diverse fejl. Forstået på den måde, at man skal sikre sig, at man HAR fået overført posterne i den ny tabel inden man begynder at slette fra den oprindelige. Dette problem kan løses ved at kalde Insert-forespørgslen vha f.eks.: Dim db as database Set db = Currentdb db.execute "Din forespørgsel", dbfailonerror if db.recordsaffected = 0 then msgbox "Der opstod fejl!" else ...
Reading you question again, it is actually what you are saying! But its hard to give a precise answer without fully understanding what is needed. You may be removing information from th euser in doing this. So it may be an idea just to show the last 20 or so records, with the possiblilty to go back even further if needed.
Ok. Jeg bør opmærksom på samtidighedsproblemer, og sikre mig mod fejl... Ellers andet!? Vil den smarteste måde være at lave en insert forespørgesel, og overføre på den måde, eller er der noget der er smartere???
En Access db har det med at vokse til uanede størrelse (dog max ca 2Gb), hvis der ofte tilføjes / sletttes poster. Det kan du kome ud over ved at komprimere db i Funktioner > Databasefunktioner > Komprimer og reparer database.
Kan gøres automatisk ved lukning af db i Finktioner > Indstillinger > Generelt og sæt checkmærke i boksen "komprimer ved lukning".
Nej - Men der er ikke omtalt noget om back-end i ovenstående, og uanset om gamle records bliver overført til en anden tabel / database vil en komprimering være på sin plads.
Næ næ, det var bare en konstatering, som mange ikke tænker over :o)
Ang. Karma, så så jeg godt, at du havde fået endnu en skidt én :o( Det er et stort mysterium for mig, at netop du har fået disse!! Og du har fuldkommen ret: Janteloven florere herinde på eksperten :o(
Synes godt om
Ny brugerNybegynder
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.