Hvorfor bliver basen (.mdb filen) så uforholdsmæssig stor ?
Dette problem opstod først, da jeg gik fra Access97 til Access2000: Når jeg importerer en .txt fil på fx 15 mb forøges størrelsen på basefilen til 992mb! Det er ren luft, for en efterfølgende komprimering nedsætter størrelsen igen til noget fornuftigt (ca 20mb) Det er ikke kun ved import af store .txt filer. Import af mindre filer "puster" også basen op til fx 500 mb. Ligeledes er det ikke kun importering alene, der øger størrelsen: Hvis importen lægges i en makro og der efterfølgende i makroen også køres nogle forespørgsler, der tilføjer, opretter og sletter, forøges størrelsen meget efterhånden som hvert trin afvikles. Hvordan kan det være?
hmm, hvis det kun er dig, som er på, så er det underligt at den vokser SÅ meget!
Det kan muligvis have betydning, hvis alle ikke har været logget af inden du åbnede databasen (dvs hvis .ldb-filen ikke har været slettet) Prøv evt at åbne databasen eksklusivt og se om resultatet er det samme.
Generelt er der ikke så forfærdelig meget at gøre ved Access' vokseværk. Men fra og med Access 2000 kan man jo sætte den til at komprimere hver gang man lukker (Funktioner->Indstillinger->Generelt). Jeg ved ikke om det kan hjælpe en smule?
Bruger du parametriserede forespørgsler? De får basen til at vokse voldsomt. Jeg havde problemer med en 400 KB base der voksede til ½ giga i løbet af få dage indtil jeg begyndte at åbne parametriserede forespørgsler som unavngivne - det løste det. Den har ikke været komprimeret siden og den bliver brugt heftigt.
Tak for svarene. Jeg tror dog ikke det er nok til at løse problemet.
Thomas .ldb filen har været slettet. Det har jeg været meget opmærksom på. Problemet er der også selvom jeg har komprimeret/repareret filen til min harddisk, som kun jeg har adgang til. (WIN NT) Det er jeg blevet nødt til, fordi der ikke er plads nok på de netværksdrev basen skal bruges på (ledig plads svinger mellem 100-400mb).
Jesper Parametriserede forespørgsler? Hvis du med det udtryk mener parametre i kriterierne så ja. Jeg har flere forespørgsler hvor der i kriterierne henvises til felter i mine formularer. Om de åbnes som unavngivne ved jeg ikke. Jeg er ikke helt klar over, hvad det dækker over? I øvrigt bruger jeg ikke den slags kriterier i forbindelse med de famøse forespørgsler (tabeloprettelses-, tilføjelses-). De køres i makroer uden tilknytning til formularer. De indeholder kun simple kriterier
Det kan godt være, at det alligevel udløser problemet, men det er i så fald ikke hele forklaringen, for basen bliver ikke kun MEGET stor, når der er forespørgsler blandet ind i det. Det sker også, når jeg ikke har gjort andet end at importere en .txt fil - også selv om importen køres manuelt uden om makroer. (dog stadig med brug af importspecifikationer)
Baggrund for basen: Den kører som et isoleret system, hvor jeg af og til laver opdatering af nogle grunddata fra mainframen via .txt filer udtrukket herfra. 1. Først sletter jeg alle de gamle data. (Berører ikke samtlige tabeller i basen) 2. Derefter importerer jeg de nye data. 3. Til sidst bearbejder jeg de nye data med de omtalte forespørgsler, og så er basen klar til brug. I pkt. 2 og 3 vokser basestørrelsen MEGET for hver import/forespørgsel der køres.
Til sidst: Kunne man forestille sig, at man skal sætte en eller anden parameter et eller andet sted i egenskaberne for basen. Det kunne måske også være et eller andet i forbindelse med WIN NT, netværket og Access 2000. (Der var ikke problemer med Access 97, hvor netværk og styresystem var det samme)
Parametriserede forespørgsler som jeg bruger dem køres via DAO i stil med
set qdf = currentdb.querydefs("Query") with qdf.parameters !P1 = "10" !P2 = 1 end with set rs = qdf.openrecordset
Eksemplet her er skrevet direkte i hånden så det kan sikkert ikke afvikles/kompileres.
De får databasen til at vokse fra 8KB pr gang og op alt efter hvor mange parametre du bruger. I forespørgslen (i eksemplet altså "Query ") skal du så have defineret dine parametre med navnende P1 og P2.
Hvis dine forespørgsler kører direkte på forms i stedet, så har jeg ikke oplevet problemet i så grel en grad som du beskriver.
Hvis du har forespørgsler af denne slags kan du undgå bloating (det er i øvrigt søgeordet du skal anvende hvis du søger hos MS eller i nyhedsgrupper; bloat) skal du lave en lille workaround som ser sådan her ud: set qdf = currentdb.createquerydef("") qdf.sql = currentdb.querydefs("Query").sql
Og så ellers arbejde videre.
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.