Avatar billede tjgrindsted Nybegynder
26. april 2007 - 12:13 Der er 4 kommentarer og
1 løsning

komprimer Access database

Hej

hvis man har slettet nogle recoorder i en database så vil der mangler nogle nr. i den tal liste som autonummering har lavet.
I MS Access kan man så lave en komprimering så alle tallene rettes til så listen ikke hedder
1,2,3,4,6,8,9,10 men 1,2,3,4,5,6,7,8 så mæste gang jeg opretter en record så har den id 9 og ikke 11.

Håber I forstår.

hvordan kan jeg gøre det samme online i et asp.net script !??
Avatar billede neoman Novice
26. april 2007 - 13:09 #1
Ovenstående "problematik" har lige være vendt her http://www.eksperten.dk/spm/773793 og her http://www.eksperten.dk/spm/774051

Hvis det er din primærnøgle det drejer sig om , så er svaret at man ikke skal rode med den. Det ville jo svare til at alle huse på Jagtvej i Kbh med husnummer over 69, skulle omnummereres, nu da Ungdomshuset er væk :-) - og det er da noget nonsens.
(I øvrigt - en komprimering af Access fjerner blot tom plads, men renummerer IKKE primærnøgler).

Hvis du har brug for at vide hvad ID er for en lige-inserted post i DB'en, så skal du spørge på det (på den samme connection som blev brugt til at lave den nye post) :

  OleDbCommand cmdNewID = new OleDbCommand("SELECT @@IDENTITY", connection);
  Dim MyNewID as Integer = cmdNewID.ExecuteScalar();

Helt generelt: indholdet af primærnøgler er - og skal være - ligegyldigt. Hvis du brugte en GUID (som hedder ReplicationID i Access) så ville du få en masse ID i stil med denne: 8b3b79a3-e254-4a12-bbe9-2afe016688da  og de har ikke nogen øjensynlig rækkefølge.
Avatar billede tjgrindsted Nybegynder
26. april 2007 - 13:35 #2
Okay kan godt følje dig, men hvordan komprimere man så database for det kan jo være at efter at have slettet en del så er databasen på 350kb men hvis jeg så komprimerede den så ville den kun fylde 275 kb.

er det muligt at kunne det !?
Avatar billede neoman Novice
26. april 2007 - 13:47 #3
jeg ved ikke hvordan man gør udefra - Inde i selve Access er der en checkbox:
Tools -> Options ->  tab: General -> Compact on close yes/No. Hvis den er checket, så komprimerer den nå sidste bruger logger ud af DB'en.  Ved ikke om det virker med adgang via OleDB - du kan da prøve ad.

Mit gæt er, at der er en parameter som kan sættes i connection string, "Compact on close" eller noget i den dur - den bliver du selv nødt til at læse/google dig frem til.
Avatar billede tjgrindsted Nybegynder
26. april 2007 - 13:55 #4
okay men tak alligevel, læg venligst et svar.
Avatar billede neoman Novice
26. april 2007 - 15:39 #5
svar:)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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