Avatar billede ferdinand.k Mester
24. juni 2004 - 09:25 Der 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??
Avatar billede terry Ekspert
24. juni 2004 - 09:30 #1
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.
24. juni 2004 - 09:32 #2
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
  ...
Avatar billede terry Ekspert
24. juni 2004 - 09:34 #3
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.
Avatar billede ferdinand.k Mester
24. juni 2004 - 09:38 #4
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???
Avatar billede terry Ekspert
24. juni 2004 - 09:40 #5
INSERT into should be fine
24. juni 2004 - 09:42 #6
Ang. problemet med at læse data fra begge tabeller, kan du jo altid lade din form basere på en UNION-forespørgsel (denne kan dog ikke redigeres):

Table tblKunder UNION Table tblKunderOld
Avatar billede ferdinand.k Mester
24. juni 2004 - 10:08 #7
Vil det være smartest at smide det over i en seperat database???
24. juni 2004 - 10:10 #8
Hvis datamængden er så stor, at det kan have betydning for performance, så ja
Avatar billede mugs Novice
24. juni 2004 - 16:18 #9
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".
24. juni 2004 - 16:20 #10
...har dog ingen effekt, hvis det er backenden, som vokser :o(
Avatar billede mugs Novice
24. juni 2004 - 16:28 #11
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.

Lidt tanker om karma:
http://www.eksperten.dk/spm/513079
24. juni 2004 - 16:33 #12
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(
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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