Avatar billede pjotre Praktikant
08. februar 2006 - 17:37 Der er 7 kommentarer og
1 løsning

Data fylder for meget

Jeg har en access database, hvor jeg fylder data i fra et delphi program. Der er bl.a. en del tekst felter, som kan være tomme.
Når programmet er færdigt fylder db ca. 14 mb. Når jeg kompresser db, fylder den ca. 2 mb. Hvordan undgår jeg at køre kompress hver gang jeg fylder data i.
Avatar billede mugs Novice
08. februar 2006 - 17:41 #1
Når du komprimerer en db, er det jo en bevidst handling du udfører, så hvordan skal dit spørgsnål nærmere opfattes?

Db vil vokse specielt når du opretter poster. Når du sletter poster vil pladsen fra slettede poster først blive frigivet, når du komprimerer db.
Avatar billede pjotre Praktikant
08. februar 2006 - 18:01 #2
Når jeg indsætter en record i databasen, tror jeg, at tekstfelter, som jeg har defineret som f.eks. 50 karakterer, også fylder 50 karakterer fysisk, selv om jeg måske kun har fyldt 3 karakterer i.
Når jeg så komprimerer, forestiller jeg mig, at de "overflødige blanke" forsvinder.
Jeg kan fortælle, at jeg starter med en tom og komprimeret database, før jeg begynder at fylde data i, så det har ikke noget med at der ligger nogle slettede poster.
Avatar billede mugs Novice
08. februar 2006 - 18:05 #3
Jeg mener, at db altid vil afsætte plads til 50 karakterer uanset hvor mange karakterer der er i feltet også efter en komprimering. Men hvad er problemet med en db der kun fylder 2 Mb?
Avatar billede pjotre Praktikant
08. februar 2006 - 18:07 #4
Den fylder 14 mb før kompress og skal oploades til et internet hotel. Det virker jo ikke særlig elegant at skulle lave en kompress, hver gang, der skal lægges data ind i filen.
Men tak for dine svar.
Avatar billede Slettet bruger
09. februar 2006 - 10:06 #5
Du behøver ikke foretage komprimeringen manuelt. I Funktioner | Indstillinger sætter du flueben i 'Komprimér ved lukning'. Så komprimerer den automatisk hvergang sidste mand lukker og slukker.
Avatar billede pjotre Praktikant
09. februar 2006 - 10:49 #6
Det er ok, når jeg lukker i access, så bliver db komprimeret.
Når jeg lukker mit delphi program, bliver db desværre ikke komprimeret.
Avatar billede zoone Nybegynder
09. februar 2006 - 14:01 #7
Ellers kan du gå ind i din VBA kode i din Access database og skrive

SendKeys "%tdc" (enten on open eller close)

Men det kræver nok at du åbner Access, på samme måde som Schlamovitzs løsning. Ellers må der være et program eller lignende der kan udføre det for dig, Access kan compacte en database der ikke er åben, men det kræver igen at du åbner Access for at kunne gøre det.
Avatar billede pjotre Praktikant
18. august 2010 - 18:19 #8
Vi lukker
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