Avatar billede kawhsc Nybegynder
05. december 2012 - 14:26 Der er 6 kommentarer

Der er defineret for mange felter.

Jeg arbejder på en 2007 baseret Access DB med 202 kolonner, hvor jeg i designvisningen er i gang med at tilpasse datatyperne - primært: Tekst, Dato og klokkeslæt og Tal.
I feltegenskaberne kan jeg jo styre indtastningsværdierne, hvilket jeg er meget begejstret for og det har lykkedes mig uden problemer, at gemme mine feltegenskaber undervejs - men nu (næsten halvejs) er jeg stødt på problemet:

"Der er defineret for mange felter. "

Og derefter denne besked:

"Denne fejl kan forekomme, hvis:
Du har overskredet det maksimale antal kolonner, der er tilladt i tabellen, eller det maksimale antal låse for en enkelt fil.
Egenskaben Indekseret for et felt er ændret fra Ja (dubletter tillades) til Ja (ingen dubletter), når der findes dubletdata i tabellen.
Hvis det maksimale antal låse pr. fil er overskredet, kan du forøge antallet ved at redigere en post i registreringsdatabasen på den lokale computer.  Dette kan dog ikke anbefales.
Søg efter registreringsdatabaseværdien MaxLocksPerFile med Windows-registreringseditor (regedit.exe), og forøg værdien. Værdien MaxLocksPerFileer gemt som en del af følgende nøgle:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Access Connectivity Engine\Engines\ACE
Hvis du redigerer en værdi i registreringsdatabasen i Windows, kan du risikere, at ændringen vil ødelægge registreringsdatabasen og gøre det umuligt at bruge Windows.  Redigering af registreringsdatabasen sker på egen risiko.  Hvis du redigerer registreringsdatabasen, anbefales det, at du først opretter en sikkerhedskopi af registreringsdatabasen.
Hvis du har ændret egenskaben Indekseret for et felt, og der allerede findes dubletdata i tabellen, kan du enten nulstille egenskaben Indekseret til den tidligere indstilling eller fjerne dubletposterne i tabellen."

Det forstår jeg simpelthen ikke et ord af og jeg kan ikke komme videre med mine feltegenskaber for resten af min DB!

Hvad skal jeg gøre for at komme videre? For jeg vil have feltegenskaber udfyldt for resten af DB.
Avatar billede mugs Novice
05. december 2012 - 14:39 #1
202 kolonner er mange - og du bør oprette flere tabeller med færre kolonner og derefter oprettte relationer mellem dem.
Avatar billede kawhsc Nybegynder
05. december 2012 - 14:56 #2
Det er egentlig en DB, jeg har overtaget og arbejder videre med. Så mit udgangspunkt er måske lidt skidt: Learning by doing!

Kan jeg oprette flere tabeller med færre kolonner i hver - i én og samme DB? Det må jeg vist lige læse lidt på! Med mindre du kan komme med en hurtig læsevenlig løsning til mit problem.

Jeg havde forstået det sådan, at man bare ikke måtte have mere end 255 kolonner - og det holder jeg mig jo under.
Avatar billede mugs Novice
05. december 2012 - 15:36 #3
255 kolonner har jeg også lært i tidernes morgen, måske i 2003 versionen. Du kan sagtens oprette flere tabeller i samme db, og jeg er næsten sikker på, at det er samme antal tabeller som snatal kolonner.

Access er jo en relationsdatabase, hvor det groft sagt gælder om, at lave flere tabeller hvor data er "i familie" med hinanden og derefter relaterer disse tabeller med hinanden. det er også vigtigt at oprette primære nøgler som du bruger til relationerne.
Avatar billede kawhsc Nybegynder
06. december 2012 - 11:32 #4
Jeg kan se, at mit første spørgsmål har udløst en masse nye problemstillinger for mig!

Jeg er lidt i tvivl om, hvorvidt relationerne i min data er vigtige - det kunne de nok blive. Formålet med min tabel var som udgangspunkt en nem måde at inddatere data på - for mange brugere. I realiteten skal vi "kun" kunne trække oplysninger ud af den for at kunne danne os et statistisk overblik.

Jeg har læst mig frem til, at der findes tre typer tabelrelationer, hvor primær nøgle(r) skal placeres forskelligt! Så nu skal jeg vist gøre op med mig selv, hvilken, der passer til min DB! Og nåh ja, brush up på min viden om primær nøgle(r)!

Indtil videre mange tak for hjælpen - det kan være jeg vender tilbage:-)
Avatar billede kawhsc Nybegynder
06. december 2012 - 11:41 #5
Glemte at spørge om, hvad maks antallet af kolonner i én tabel er, når det nu ikke er 255?
07. december 2012 - 14:10 #6
Der er et par ting man skal være opmærksom på. Access gemmer til en vis grad gamle felt (kolonne) oplysninger, sandsynligvis for at kunne have support for Undo.

Dvs. at selv om du lige PT kun har 202 felter så kan antallet af gemte felter være en anelse højere. For at reducere dette tal til 202 felter igen, kan du f.eks benytte "Compact and Repair" som rydder op i den gemte ekstra information. Husk at tage en backup inden, for en sikkerheds skyld.


Derudover gælder der at hvis du ændrer et felt, så sker der rent praktisk det (når tabellen gemmes) at Access opretter et nyt felt med de nye parametre, opdaterer det nye felt med værdien af det gamle felt, og først derefter sletter det gamle felt. DVS. hvis du prøver at ændre 10 af de 202 felter så vil der rent midlertidigt være 212 felter i tabellen. Derfor kan du være nød til at ændre et begrænset antal felter, køre en "Compact and Repair" og sæ ændre nogle flere hvis dit behov for ændringer involverer mange felter.

Jeg foreslår derudover at du prøver at google "Database normalization" og læser om normalisering af databaser. Det kan godt virke som et skræmmende koncept men det er essentielt for god udvikling.
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