Finde, skjule eller udelade dublerede data

I denne artikel forklares, hvordan du finder og skjuler eller udelader dublerede data ved hjælp af Microsoft Office Access 2007. Som en regel bør du slette dubletværdier, hvor det er muligt, for at reducere omkostninger og nøjagtigheden af data. Office Access 2007 omfatter en række måder, du kan bruge til at finde og skjule eller slette dublerede værdier. I denne artikel forklares, hvordan du bruger de mest almindelige metoder.

Hvad vil du foretage dig?

Beskrivelse af dublerede data

Forberede nogle eksempeldata

Finde og redigere, skjule eller slette dublerede data i en enkelt tabel

Finde og redigere, skjule eller slette dublerede data i flere tabeller

Beskrivelse af dublerede data

En af de primære grunde til at bruge en relationsdatabase er at undgå dublerede data. Når databaser har været i brug længe, indeholder de ofte dublerede værdier. Det sker specielt, når flere brugere indtaster data. Sletning af dublerede data reducerer normalt omkostningerne til lagring og sikrer større nøjagtighed af dine data. Denne nøjagtighed kan desuden gøre det lettere for dig at træffe forretningsbeslutninger. Hvis du f.eks. indtaster en salgsordre mere end én gang, modtager kunden muligvis varer, der ikke er behov for. Denne redundans kan koste dig penge til øgede forsendelses- og regnskabsomkostninger.

Betydningen af dublering

Før du går i gang med at identificere og slette dublerede poster, skal du huske, at du skal kunne stole på din kendskab til dataene. I modsætning til designprocessen for en database kan du ikke følge en række specifikke regler eller fremgangsmåder for at finde og slette dublerede poster nøjagtigt. Vær specielt opmærksom på én ting: Databaseforespørgsler kan returnere, hvad der ser ud som dublerede poster, men som i virkeligheden er gyldige data. Den tilsyneladende dublering sker normalt, når der ikke medtages felter i forespørgslen, som entydigt identificerer hver enkelt post. Yderligere oplysninger om medtagelse af de nødvendige felter i en forespørgsel for at undgå falske dubleringer findes i afsnittet Forstå, hvornår poster ikke er dubletter senere i denne artikel.

Du skal også huske, at du ikke kan slette alle dublerede data, fordi en vis dublering er nødvendig for, at databasen fungerer korrekt. Sagt på en anden måde: Databaser kan indeholde både nødvendig og overflødig redundans. Du skal kun fjerne den overflødige redundans.

Nødvendig redundans falder i to kategorier. Den første type redundans muliggør databasens funktion. Eksempelvis dublerer man data i et primært nøglefelt, når det er nødvendigt at etablere en en-til-en- og en-til-mange-relation mellem tabeller.

Den anden type nødvendig redundans opstår under brugen af databasen. Du kan f.eks. indtaste navnet på en by, en leverandør eller et almindeligt navn, f.eks. Martin Hansen, mange gange. Dette behøver ikke i sig selv at betyde, at du dublerer data, fordi andre felter i databasen (f.eks. primære nøgleværdier, adresser og postnumre) indeholder tilstrækkelig entydige oplysninger til, at posterne ikke betragtes som dubletter.

Overflødige dubletter kan forekomme på en række måder:

  • To eller flere poster kan indeholde dublerede felter.    To poster kan betragtes som dubletter, selvom ikke alle felter i posterne indeholder matchende værdier. I denne figur f.eks. findes to poster for Antonio Moreno Taquería.

    Duplikerede poster for en kunde i tabellen Kunder

    Selvom hver enkelt post har et entydigt kunde-id (værdien i kolonnen længst til venstre), matcher værdierne i felterne Navn, Adresse og By. I sådanne tilfælde kan selv en delvis match være en god lejlighed til at bruge din viden om din virksomhed til at gennemgå posterne for dubletter.

  • To eller flere tabeller kan indeholde lignende data.    Du opdager f.eks., at tabellen Kunder og tabellen Klienter begge indeholder poster for samme kunder.

    Tabellerne Kunder og Klienter med overlappende data

    Selvom tabellerne har forskellige strukturer, indeholder de begge samme slags oplysninger – kundedata – så du bør overveje at flette alle entydige (ikke-dublerede) værdier til én enkelt tabel og eliminere den ekstra tabel.

  • To eller flere databaser kan indeholde lignende data.    Hvis du opdager, at to eller flere databaser indeholder lignende data, eller du arver en database, der overlapper din aktuelle database, skal du sammenligne dataene og strukturen af databaserne og derefter gennemføre de nødvendige trin for at konsolidere dem.

    Manuel sammenligning af databaser, selv små databaser, er ikke nogen let opgave. Hvis du har brug for hjælp til sammenligningen, kan du købe værktøjer til sammenligning af indholdet og strukturen af Access-databaser hos flere tredjepartsleverandører.

    Se afsnittet om databaseadministration på Microsoft Office MarketPlace for at få vist de aktuelt tilgængelige værktøjer til databaseadministration.

Bemærk: Hvis du går i gang med at fjerne dublerede data fra dine tabeller, og der stadig vises dublerede data i en formular eller rapport, kan det skyldes forkert udformning af en formular eller rapport. Kontroller, at de underliggende tabeller og forespørgsler er korrekt forbundne, og at formular- eller rapportafsnittene ikke indeholder mere end ét kontrolelement, der er bundet til samme kontrolelementkilde.

Flere oplysninger om rapportudformning finder du i artiklen Modificere, redigere eller ændre en rapport.

Forstå, hvornår poster ikke er dubletter

I nogle situationer, f.eks. når du gennemser data, der returneres af en forespørgsel, kan der forekomme, hvad der ligner dublerede poster, selvom de underliggende tabeller ser ud til kun at indeholde entydige poster. Der kan opstå problemer, når din visning ikke omfatter felter, der entydigt identificerer en post. I denne figur vises f.eks. data, der blev returneret af en forespørgsel.

En visning, der ikke omfatter et felt, der entydigt identificerer posterne

I denne visning ser flere poster ud til at være dubletter. Hvis du føjer ét eller flere felter til forespørgslen, f.eks. navne på kunderne eller de primære nøglefelter for hver ordre (ordre-id), vil du se, at hver enkelt post reelt er entydig som her:

Visning omfatter nu feltet Ordre-id, så duplikerede poster undgås

Som en regel bør du kun medtage feltet eller felterne, der identificerer hver enkelt post entydigt, når du opretter en forespørgsel. Normalt bruges et primært nøglefelt til dette, men du kan i stedet bruge en kombination af andre felter. Du har f.eks. mange forekomster af et almindeligt kontaktpersonnavn og mange forekomster af et bynavn, men hvis du medtager et telefonnummer og en adresse, vil denne kombination af data gøre hver enkelt post entydig.

Ting at overveje ved håndtering af dubletter

Sådan håndterer du dublerede poster under hensyntagen til flere faktorer:

  • Typen og omfangen af dublering    Ser du dublerede data i en enkelt tabel, eller ser du to lignende tabeller (i samme database eller i to forskellige databaser) med overlappende data? Ser du alternativt dublerede poster i en visning, der er baseret på to eller flere relaterede tabeller?

  • Dine specifikke krav    Hvad vil du gøre med de dublerede data? Vil du slette posterne fra databasen eller blot skjule dem fra visningen? Vil du i stedet tælle eller beregne gennemsnit eller sum for værdierne i de dublerede poster? Betyder det noget, hvilke af de dublerede poster der slettes eller skjules? Hvis det gør, vil du så gennemse og slette posterne manuelt eller slette disse poster på grundlag af en betingelse? Vil du også opdatere eller konsolidere én post eller flere poster, før du begynder at slette poster?

Svarene på disse spørgsmål (eller denne type spørgsmål) samt din kendskab til dataene skulle gøre dig i stand til at oprette en plan for håndtering af redundante data.

Generelle forberedelser til fjernelse af dubletter

Hvis du vælger at slette de dublerede poster, skal du først håndtere alle eksisterende tabelrelationer. Normalt bruges en-til-mange-relationer i de fleste databaser. Du kan f.eks. have et lille antal kunder, men hver enkelt kunde afgiver mange ordrer. Det medfører, at tabellen med kundedata findes på "en"-siden af relationen, mens ordredataene findes på "mange"-siden af relationen.

Husk følgende regel, når du går videre: Hvis de data, du vil slette, findes på "mange"-siden af relationen, kan du slette data uden at tage yderligere skridt. Hvis dataene dog findes på "en"-siden, skal du angive en egenskab i relationen, fordi handlingen ellers forhindres af Access.

Yderligere oplysninger om sletning af data på "en"-siden findes i artiklen Bruge en sletteforespørgsel til at slette én eller flere poster fra en database

Før du begynder at slette redundante data, skal du overveje én eller flere måder at forberede databasen på:

  • Sørg for, at databasen ikke er skrivebeskyttet.

  • Sørg for, at du har de nødvendige tilladelser til at redigere eller slette poster i databasen.

  • Bed alle andre brugere af databasen om at lukke de objekter, du vil arbejde med. Dette bidrager til at undgå låsningsfejl.

    Tip: Hvis et stor antal brugere opretter forbindelse til databasen, kan du overveje at lukke databasen og genåbne den i udelt tilstand. Det gør du ved at klikke på Microsoft Office-knappen Office-knapflade i Access og derefter klikke på Åbn. Søg til og marker databasen. Klik på pilen ud for knappen Åbn, og klik derefter på Åbn med udelt adgang.

    Åbne en fil med udelt adgang

  • Sikkerhedskopier din database, før du sletter poster. Du kan ikke ophæve eller fortryde en slettehandling. Den eneste måde at gendanne slettede poster på er at gendanne dem fra en sikkerhedskopi. En slettehandling kan også slette poster i relaterede tabeller. Det er derfor bedst at sikkerhedskopiere hele databasen, før du begynder handlingen.

    Sikkerhedskopiere en database

    1. Klik på Microsoft Office-knappen Office-knapflade , klik på pilen ud for Administrer database, og klik derefter på Sikkerhedskopier database.

      Dialogboksen Gem som vises, og den aktuelle dato føjes til filnavnet i Access. Hvis du f.eks. har en database med navnet Aktiver, oprettes følgende type filnavn i Access: Aktiver_2006-10-29.

    2. Accepter standardnavnet og -placeringen, eller vælg et andet navn eller en anden placering, og klik derefter på Gem.

      Den oprindelige fil lukkes i Access, der oprettes en sikkerhedskopi, og derefter genåbnes den oprindelige fil.

      Hvis du vil tilbageføre en sikkerhedskopi, skal du lukke den oprindelige fil og omdøbe den, så sikkerhedskopien kan få navnet på den oprindelige version. Giv sikkerhedskopien navnet på den oprindelige version, og åbn den i Access.

Toppen af siden

Forberede nogle eksempeldata

Afsnittene med fremgangsmåder i denne artikel indeholder tabeller med eksempeldata. I fremgangsmåderne bruges eksempeltabellerne til at forklare, hvordan forespørgsler fungerer. Hvis du ønsker det, kan du indsætte eller importere eksempeltabeller i en ny eller eksisterende database.

Du kan føje disse eksempeltabeller til en database på flere forskellige måder. Du kan indtaste dataene manuelt, du kan kopiere hver tabel til et regnearksprogram (f.eks. Office Excel 2007) og derefter importere regnearkene til Access, eller du kan indsætte dataene i en teksteditor, f.eks. Notesblok, og derefter importere dataene fra de tekstfiler, der oprettes.

I fremgangsmåderne i dette afsnit forklares det, hvordan du indtaster data manuelt i et tomt dataark, og hvordan du kopierer eksempeltabellerne til Excel og derefter importerer disse tabeller til Access 2007. Du kan finde flere oplysninger om at oprette og importere tekstdata i artiklen Importere eller oprette en kæde til data i en tekstfil.

I fremgangsmåderne i denne artikel bruges følgende tabeller:

Tabellen Kunder:

Firmanavn

Navn på kontaktperson

Adresse

By

Postnummer

Telefon

Baldwin Museum of Science

Josh Barnhill

1 Main St.

New York

12345

(505) 555-2122

Blue Yonder Airlines

Waleed Heloo

52 1st St.

Boston

23456

(104) 555-2123

Coho Winery

Pica Guido

3122 75th Ave. S.W.

Seattle

34567

(206) 555-2124

Contoso Pharmaceuticals

Jean Philippe Bagel

1 Contoso Blvd.

London

NS1 EW2

(171) 555-2125

Fourth Coffee

Julian Price

Calle Smith 2

Mexico City

56789

(7) 555-2126

Coho Winery

Christine Hughes

3122 75th St. S.

Seattle

34567

(206) 555-2125

Humongous Insurance

Steve Riley

67 Big St.

Tampa

01234

(916) 555-2128

Trey Research

Dana Birkby

2 Nosey Pkwy

Portland

43210

(503) 555-2129

Fourth Coffee

Reshma Patel

Calle Smith 2

Mexico City

56789

(7) 555-2233

Tabellen Medarbejdere:

Efternavn

Fornavn

Adresse

By

Fødselsdato

Ansættelsesdato

Barnhill

Josh

1 Main St.

New York

05-02-1968

10-06-1994

Heloo

Waleed

52 1st St.

Boston

22-05-1957

22-11-1996

Guido

Pica

3122 75th Ave. S.W.

Seattle

11-11-1960

11-03-2000

Bagel

Jean Philippe

1 Contoso Blvd.

London

22-03-1964

22-06-1998

Pris

Julian

Calle Smith 2

Mexico City

05-06-1972

05-01-2002

Hughes

Christine

3122 75th St. S.

Seattle

23-01-1970

23-04-1999

Riley

Steve

67 Big St.

Tampa

14-04-1964

14-10-2004

Birkby

Dana

2 Nosey Pkwy

Portland

29-10-1959

29-03-1997

Bagel

Jean Philippe

1 Contoso Blvd.

London

22-03-1964

20-06-1998

Tabellen Skyldigt beløb:

Firmanavn

Navn på kontaktperson

Adresse

By

Postnummer

Telefon

Forfaldent beløb

Baldwin Museum of Science

Josh Barnhill

1 Main St.

New York

12345

(505) 555-2122

DKK 556,78

Blue Yonder Airlines

Waleed Heloo

52 1st St.

Boston

23456

(104) 555-2123

DKK 1.893.24

Coho Winery

Pica Guido

3122 75th Ave. S.W.

Seattle

34567

(206) 555-2124

DKK 321,79

Contoso Pharmaceuticals

Jean Philippe Bagel

1 Contoso Blvd.

London

NS1 EW2

(171) 555-2125

DKK 457,68

Fourth Coffee

Julian Price

Calle Smith 2

Mexico City

56789

(7) 555-2126

DKK 98,75

Coho Winery

Christine Hughes

3122 75th St. S.

Seattle

34567

(206) 555-2125

DKK 321,79

Humongous Insurance

Steve Riley

67 Big St.

Tampa

01234

(916) 555-2128

DKK 297,45

Trey Research

Dana Birkby

2 Nosey Pkwy

Portland

43210

(503) 555-2129

DKK 509,09

Fourth Coffee

Reshma Patel

2 Calle Smith

Mexico City

56789

(7) 555-2233

DKK 98,75

Tabellen Klienter:

Navn

Adresse

By

Telefon

Fax

Baldwin Museum of Science

1 Main St.

New York

(505) 555-2122

(505) 555-2122

Blue Yonder Airlines

52 1st St.

Boston

(104) 555-2123

(104) 555-2123

Coho Winery

3122 75th Ave. S.W.

Seattle

(206) 555-2124

(206) 555-2124

Contoso Pharmaceuticals

1 Contoso Blvd.

London

(171) 555-2125

(171) 555-2125

Fourth Coffee

Calle Smith 2

Mexico City

(7) 555-2126

(7) 555-2126

Consolidated Messenger

3122 75th St. S.

Seattle

(206) 555-2125

(206) 555-2129

Graphic Design Institute

67 Big St.

Tampa

(916) 555-2128

(916) 555-2128

Litware, Inc.

3 Microsoft Way

Portland

(503) 555-2129

(503) 555-2110

Tailspin Toys

4 Microsoft Way

Portland

(503) 555-2233

(503) 555-2239

Indtaste eksempeldata manuelt

  1. Klik på Tabel i gruppen Tabeller på fanen Opret.

    Billede af Access-båndet

    Access føjer en ny, tom tabel til databasen.

    Bemærk: Du behøver ikke udføre dette trin, hvis du åbner en ny, tom database, men du skal udføre det, når du føjer en tabel til databasen.

  2. Dobbeltklik på den første celle i overskriftsrækken, og skriv navnet på feltet i eksempeltabellen.

    Som standard er tomme felter i overskriften markeret med teksten Tilføj nyt felt:

    Et nyt felt i et dataark

  3. Brug piletasterne til at gå til den næste tomme celle i overskriftsrækken, og skriv derefter det andet feltnavn (du kan også trykke på TAB eller dobbeltklikke på den nye celle). Gentag dette trin, indtil du har indtastet alle feltnavne.

  4. Indtast data i eksempeltabellen.

    Når du indtaster data, bestemmer Access datatypen for hvert felt. Hvis du er ny bruger af relationsdatabaser, skal du angive en bestemt datatype, f.eks. Tal, Tekst eller Dato og klokkeslæt, for hvert af felterne i tabellerne. Ved at angive datatyperne kan du bedre opnå mere nøjagtig dataindtastning og undgå fejl som f.eks. anvendelse af telefonnumre i en beregning. For disse eksempeltabeller skal du lade Access bestemme datatypen.

  5. Klik på Gem, når du er færdig med at indtaste data.

    Genvejstaster  Tryk på CTRL+S.

    Dialogboksen Gem som åbnes.

  6. Skriv navnet på eksempeltabellen i boksen Tabelnavn, og klik derefter på OK.

    Du skal bruge navnet på hver eksempeltabel, fordi disse navne bruges i forespørgslerne i fremgangsmåderne.

Oprette eksempelregneark

  1. Start regnearksprogrammet, og opret en ny, tom fil. Hvis du bruger Excel, oprettes der som standard en ny, tom projektmappe.

  2. Kopier den første eksempeltabel fra det foregående afsnit, og indsæt den i det første regneark med start i den første celle.

  3. Giv regnearket samme navn som eksempeltabellen ved hjælp af funktionerne i regnearksprogrammet. Hvis eksempeltabellen f.eks. har navnet Kategorier, skal du give regnearket det samme navn.

  4. Gentag trin 2 og 3 for at kopiere hver eksempeltabel til et tomt regneark og omdøbe regnearket.

    Bemærk: Du skal evt. føje regneark til regnearksfilen. Du kan finde oplysninger om, hvordan du gør det, i Hjælp til regnearksprogrammet.

  5. Gem projektmappen på en praktisk placering på computeren eller netværket, og gå til næste række trin.

Oprette databasetabeller ud fra regneark

  1. I en ny eller eksisterende database:

    Klik på Excel på fanen Eksterne data i gruppen Importer.

    Billede af Access-båndet

    Eller

    Klik på Mere, og vælg derefter et regnearksprogram på listen.

    Dialogboksen Hent eksterne data – Programnavn-regneark vises.

  2. Klik på Gennemse, åbn den regnearksfil, du oprettede i ovenstående trin, og klik derefter på OK.

    Guiden Importer regneark starter.

  3. Som standard vælger guiden det første regneark i projektmappen ("Kunder", hvis du fulgte trinnene i forrige afsnit), og data fra regnearket vises i nederste del af siden med guiden. Klik på Næste.

  4. På næste side i guiden skal du klikke på Første række indeholder kolonneoverskrifter og derefter klikke på Næste.

  5. På næste side kan du vælge at bruge tekstboksene og listerne under Feltindstillinger til at ændre feltnavne og datatyper eller til at udelade felter fra importen. I modsat fald skal du klikke på Næste.

  6. Lad indstillingen Lad Access tilføje en primær nøgle være markeret, og klik derefter på Næste.

  7. Som standard anvendes navnet på regnearket som navnet på den nye tabel. Accepter navnet, eller skriv et andet navn, og klik derefter på Udfør.

  8. Gentag trin 1 til og med 7, til du har oprettet en tabel ud fra hvert regneark i Excel-projektmappen.

Toppen af siden

Finde og redigere, skjule eller slette dublerede data i en enkelt tabel

Fremgangsmåderne i de følgende afsnit viser de mest almindelige måder at finde og redigere, skjule eller slette dublerede værdier i en enkelt tabel.

Finde poster, hvor nogle felter matcher helt eller delvist

Vise entydige poster ved at skjule dubletter

Vise forskellige poster ved at angive, hvilken dublet der skal vises i resultaterne

Bruge aggregatfunktioner (Antal, Sum, Gennemsnit) på dublerede poster

Bruge en sletteforespørgsel til at slette dublerede poster

Forhindre brugere i at indtaste dublerede værdier

Finde poster, hvor nogle felter matcher helt eller delvist

Processen med at finde poster, der indeholder helt eller delvist matchende værdier, følger disse generelle trin:

  • Opret en forespørgsel ved hjælp af guiden Find dubletter. Som standard returnerer forespørgslen kun matchende poster, når værdierne i hvert enkelt felt matcher tegn for tegn. Hvis du vil finde delvise matches, kan du bruge et udtryk i forespørgslen, eller du kan ændre SQL-koden (Structured Query Language).

  • Du kan vælge at redigere feltværdierne eller slette poster, når du gennemser forespørgselsresultaterne i dataarkvisning.

  • Du kan også vælge at ændre SQL-koden (Structured Query Language) i forespørgslen for at søge efter værdier, der er delvist tilsvarende. Hvis du ikke ændrer SQL-koden, returnerer forespørgslen kun de poster, hvor værdierne i de angivne felter matcher tegn for tegn.

I fremgangsmåden i dette afsnit forklares, hvordan du opretter en dubletforespørgsel, og hvordan du ændrer forespørgslen, så den søger efter delvise matches. Fremgangsmåden gør brug af tabellen Kunder, der findes i følgende tabel. Hvis du vil bruge tabellen i en database, skal du se afsnittet Forberede nogle eksempeldata tidligere i dette dokument. Du kan tilpasse trinnene, så de passer til dine data.

Firmanavn

Navn på kontaktperson

Adresse

By

Postnummer

Telefon

Baldwin Museum of Science

Josh Barnhill

1 Main St.

New York

12345

(505) 555-2122

Blue Yonder Airlines

Waleed Heloo

52 1st St.

Boston

23456

(104) 555-2123

Coho Winery

Pica Guido

3122 75th Ave. S.W.

Seattle

34567

(206) 555-2124

Contoso Pharmaceuticals

Jean Philippe Bagel

1 Contoso Blvd.

London

NS1 EW2

(171) 555-2125

Fourth Coffee

Julian Price

Calle Smith 2

Mexico City

56789

(7) 555-2126

Coho Winery

Christine Hughes

3122 75th St. S.

Seattle

34567

(206) 555-2125

Humongous Insurance

Steve Riley

67 Big St.

Tampa

01234

(916) 555-2128

Trey Research

Dana Birkby

2 Nosey Pkwy

Portland

43210

(503) 555-2129

Fourth Coffee

Reshma Patel

Calle Smith 2

Mexico City

56789

(7) 555-2233

Oprette dubletforespørgslen

  1. Klik på Guiden Forespørgsel i gruppen Andet på fanen Opret.

    Billede af båndet i Access

  2. Klik på Forespørgselsguiden Find dubletter i dialogboksen Ny forespørgsel, og klik derefter på OK.

    Hvis der vises en advarselsmeddelelse med oplysning om, at funktionen ikke er installeret, skal du klikke på Ja for at installere guiden.

  3. På listen over tabeller skal du vælge den tabel, der indeholder de dublerede data, og derefter klikke på Næste.

  4. På listen over tilgængelige felter, skal du kun vælge det felt eller de felter, der indeholder dublerede oplysninger. Hvis du bruger tabellen Kunder, skal du kun tilføje felterne Firmanavn, Adresse og By, fordi disse felter er de eneste, der indeholder værdier, der matcher tegn for tegn. Klik på Næste.

    Bemærk: Hvis de felter, du tilføjer i dette trin, ikke indeholder tegn-for-tegn-matches, returnerer forespørgslen muligvis ingen resultater.

  5. På den næste liste over tilgængelige felter skal du vælge det felt eller de felter, der indeholder de data, du vil undersøge eller opdatere, eller felter, der indeholder data, der kan gøre det lettere for dig at skelne mellem dublerede og ikke-dublerede poster. Hvis du bruger tabellen Kunder, skal du tilføje felterne Navn på kontaktperson og Telefon, fordi dataene i disse felter kan gøre det lettere at finde de dublerede værdier og muligvis forklare, hvorfor værdierne blev indtastet. Klik på Næste.

  6. Accepter det foreslåede navn (Finde dubletter for kunder), eller indtast dit eget navn, og klik på Udfør for at køre forespørgslen. Hvis du brugte tabellen Kunder, vises følgende resultat:

Firmanavn

Adresse

By

Navn på kontaktperson

Telefon

Fourth Coffee

Calle Smith 2

Mexico City

Julian Price

(7) 555-2126

Fourth Coffee

Calle Smith 2

Mexico City

Reshma Patel

(7) 555-2233

  1. Da du oprettede tabellen Kunder, bemærkede du muligvis mere end to dublerede poster (tabellen indeholder fire). Du ser ikke de andre dubletter, fordi værdierne i feltet Adresse ikke matcher tegn for tegn. Du kan ændre forespørgslen, så der returneres værdier, der matcher delvist – i den næste række trin forklares hvordan.

Tilpasse forespørgslen for at finde delvise matches

  1. Skift forespørgselsvisningen til SQL. Det kan du gøre på følgende måde:

    • Højreklik på forespørgslens dokumentfane, og klik derefter på SQL-visning.

    • I navigationsruden skal du højreklikke på forespørgslen og derefter klikke på SQL-visning.

  2. Ændre SQL-koden for at finde og sammenligne delvise værdier.

    Hvis du brugte tabellen Kunder i de forrige trin, vises følgende SQL-sætning:

    SELECT Kunder.[Firmanavn], Kunder.[Adresse], Kunder.[By], Kunder.[Navn på kontaktperson], Kunder.[Telefon]
    FROM Kunder
    WHERE (((Kunder.[Firmanavn]) In (SELECT [Firmanavn] FROM [Kunder] As Tmp GROUP BY [Firmanavn],[Adresse],[By] HAVING Count(*)>1 And [Adresse] = [Kunder].[Adresse] And [By] = [Kunder].[By])))
    ORDER BY Kunder.[Firmanavn], Kunder.[Adresse], Kunder.[By];

    I dette tilfælde bruger WHERE-delsætningen en anden SELECT-sætning til at sammenligne hver enkelt post med alle de andre poster i tabellen for at identificere dubletsæt.

    Antag, at du er nødt til at ændre feltet Adresse for at returnere delvise matches. Følgende tabel viser, hvordan du ændrer sætningen, så kun de første syv tegn i feltet skal matche. Ændringerne vises med fed skrift:

SQL-sætning

Beskrivelse

SELECT Kunder.[Firmanavn], Kunder.[Adresse], Kunder.[By], Kunder.[Navn på kontaktperson], Kunder.[Telefon]

Ingen ændringer. Du vil have vist samme felter, herunder hele feltet Adresse for hvert sæt dublerede poster.

FROM Kunder

Ingen ændring.

WHERE (((Kunder.Firmanavn) In (SELECT [Firmanavn] FROM [Kunder] As Tmp GROUP BY [Firmanavn],Left([Adresse],7) ,[By] HAVING

Erstat feltet ([Adresse]) med et funktionskald, der udføres på feltet Adresse (Left([Adresse],7)), for at afgøre, om der forekommer dublering. Dette afprøver de første syv tegn i feltet Adresse i stedet for hele feltværdien. Hvis du vil matche færre tegn, skal du indtaste et lavere tal. Hvis du vil matche flere tegn, skal du indtaste et højere tal.

Count(*)>1 And Left([Adresse],7) =Left([Kunder].[Adresse],7) And [By] = [Kunder].[By])))

Hvis du vil sammenligne de første syv tegn i feltet Adresse i én post med feltet i en anden post, skal du erstatte [Adresse] med funktionskaldet Left([Adresse],7) og erstatte [Kunder].[Adresse] med funktionskaldet Left([Kunder].[Adresse],7).

ORDER BY Kunder.Firmanavn, Kunder.Adresse, Kunder.By;

Ingen ændring.

  1. Klik på Kør Knapflade for at køre forespørgslen og få vist resultaterne i dataarkvisning.

    Forespørgslen returnerer nu alle fire dublerede poster, fordi det kun matcher de første syv tegn (startende fra venstre) i feltet Adresse:

Firmanavn

Adresse

By

Navn på kontaktperson

Telefon

Coho Winery

3122 75th Ave. S.W.

Seattle

Pica Guido

(206) 555-2124

Coho Winery

3122 75th St. S.W

Seattle

Christine Hughes

(206) 555-2125

Fourth Coffee

Calle Smith 2

Mexico City

Julian Price

(7) 555-2126

Fourth Coffee

Calle Smith 2

Mexico City

Reshma Patel

(7) 555-2233

Redigere poster manuelt

  1. I dataarkvisningen skal du åbne den forespørgsel, du oprettede i forrige sæt trin.

  2. Benyt en af følgende fremgangsmåder:

    • Hvis du vil redigere værdien i et felt, skal du markere feltet og indtaste en ny værdi.

    • Hvis du vil slette en hel post (en række), skal du klikke på rækkevælgeren (den tomme boks ved siden af rækken) og trykke på DELETE.

      Bemærk: Hvis du finder et stort antal dublerede poster (flere end du vil slette manuelt), kan du slette disse poster ved at oprette og køre en sletteforespørgsel. I forbindelse med de grundlæggende trin i at oprette og køre en sletteforespørgsel kan du se afsnittet Bruge en sletteforespørgsel til at slette dublerede poster senere i dette emne.

      Yderligere oplysninger om brug af sletteforespørgsler, herunder oplysninger om hvordan sletning planlægges, og hvordan tabelrelationer ændres, og relaterede data slettes, finder du i artiklen Bruge en sletteforespørgsel til at slette én eller flere poster fra en database.

Starten af afsnittet

Vise entydige poster ved at skjule dubletter

De fleste databasetabeller omfatter et felt, der helt entydigt identificerer hver enkelt post. Dette er normalt et primært nøglefelt. Når du udformer en forespørgsel, og du skjuler eller udelader disse felttyper, kan der vises, hvad der ser ud som dublerede poster, fordi værdierne i alle de returnerede felter matcher.

For eksempel viser denne figur et forespørgselsresultat, hvor to ordrer (i den røde boks) ser ud til at være dubletter.

En forespørgsel baseret på tabellen Kunder, hvor to poster har matchende værdier i alle felter

Hvis forespørgslen dog indeholdt et primært nøglefelt, f.eks. et ordre-id, eller et andet felt, der entydigt identificerede hver enkelt post, f.eks. en leveringsdato, ville du se, at posterne ikke er dubletter. Trinnene i dette afsnit viser, hvordan du skjuler dublerede poster, når værdierne i alle felter, der returneres af forespørgslen, matcher. Du kan f.eks. skjule én af posterne for Antonio Moreno Taqueria, men du kan ikke skjule posterne for Blauer See Delikatessen, fordi Adresse-felterne indeholder forskellige værdier.

Husk følgende regel, når du går videre: To eller flere poster betragtes kun som dubletter, når alle felter i forespørgselsresultaterne indeholder de samme værdier. Hvis værdierne i blot et enkelt felt varierer, er hver post entydig, og du kan ikke skjule disse poster ved hjælp af de her viste teknikker. Hvis du vil gemme denne type dublerede poster, kan du gøre det ved at bruge en totalforespørgsel med en aggregatfunktion, f.eks. FIRST, MIN, MAX osv. Yderligere oplysninger om dette finder du i afsnittet Vise forskellige poster ved at angive, hvilken dublet der skal vises i resultaterne senere i denne artikel.

Access omfatter to måder til kun at få vist entydige værdier i et forespørgselsresultatsæt:

  • Hvis du skjulte det primære nøglefelt (eller et andet felt, der gør en post entydig), skal du vise denne kolonne igen.

  • Opret en udvælgelsesforespørgsel, og angiv derefter egenskaben UnikkeVærdier for forespørgslen til Ja. Når forespørgslen finder dublerede værdier, vises kun én af disse dubletter (den første, der findes), og resten skjules.

Trinnene i dette afsnit viser, hvordan begge teknikker bruges.

Vise skjulte felter

  1. Mens forespørgslen er åben i dataarkvisning, skal du højreklikke et sted på overskriftsrækken (rækken, der indeholder dine kolonneoverskrifter) og klikke på Vis kolonner.

  2. I dialogboksen Vis kolonner skal du markere afkrydsningsfeltet ud for hver af de felter, du vil føje til dataarket, og derefter klikke på OK.

Indstille egenskaben UnikkeVærdier

Bemærk: Når du har angivet egenskaben UnikkeVærdier for en forespørgsel til Ja, kan du ikke redigere feltværdier eller slette data, mens forespørgslen er i dataarkvisning. Hvis du vil redigere eller slette data, skal du åbne den underliggende tabel i dataarkvisning.

  1. Klik på Guiden Forespørgsel i gruppen Andet på fanen Opret.

    Billede af båndet i Access

  2. Klik på Guiden Simpel forespørgsel i dialogboksen Ny forespørgsel, og klik derefter på OK.

    Hvis der vises en advarselsmeddelelse med oplysning om, at funktionen ikke er installeret, skal du klikke på Ja for at installere guiden.

  3. På listen over tabeller skal du vælge den tabel, der indeholder dublerede poster, og derefter klikke på Næste.

  4. På listen over tilgængelige felter skal du kun vælge det felt eller de felter, som indeholder de dublerede oplysninger, og derefter klikke på Næste.

  5. Klik på Næste igen uden at markere yderligere felter. Hvis du tilføjer andre felter, kan det medføre, at Access behandler nogle dublerede poster som entydige poster.

  6. Accepter det foreslåede navn til forespørgslen, eller indtast et selvvalgt navn, klik på Rediger forespørgslens design, og klik derefter på Udfør for at åbne forespørgslen i designvisning.

  7. Højreklik på det tomme område i øverste halvdel af forespørgselsdesigneren, og klik derefter på Egenskaber.

  8. På egenskabsarket skal du finde egenskaben UnikkeVærdier og ændre den til Ja.

    Vise forespørgslens egenskabsark

  9. Klik på Kør Knapflade for at køre forespørgslen og få vist resultaterne i dataarkvisning. Hvis dine data indeholder dublerede poster, vises kun én af disse.

Starten af afsnittet

Vise forskellige poster ved at angive, hvilken dublet der skal vises i resultaterne

Når der findes dublerede poster, vil du muligvis kun have vist forskellige værdier – én post ud af hvert sæt dubletter. Hvis du vil køre en forespørgsel efter en bestemt dubleret post, kan du bruge en type forespørgsel, der kaldes en totalforespørgsel. Når du føjer felter til en totalforespørgsel, behandler forespørgslen hvert felt som en gruppe, og du kan køre en type funktion, der kaldes en aggregatfunktion på dataene i en gruppe. Dernæst kan disse funktioner returnere én post fra et sæt dubletter.

Du kan bruge en totalforespørgsel og en aggregatfunktion til disse data på flere måder:

  • Brug funktionen Første til kun at vise den post, der blev indtastet først.

  • Brug funktionen Sidste til kun at vise den post, der blev indtastet sidst.

  • Brug funktionen Maks eller Min til kun at vise posten med mindst eller størst værdi i et bestemt felt. Du kan f.eks. vise posten med den mest aktuelle dato ved hjælp af funktionen Maks eller få vist posten med den tidligste dato ved hjælp af funktionen Min.

    Bemærk: Du kan ikke redigere de data, som denne type forespørgsel returnerer. Hvis du vil redigere eller slette data, skal du åbne den underliggende tabel i dataarkvisning.

Trinnene i dette afsnit viser, hvordan der foretages en forespørgsel efter oprindelige, nyeste og ældste poster. Disse trin gør brug af tabellen Medarbejdere.

Efternavn

Fornavn

Adresse

By

Fødselsdato

Ansættelsesdato

Barnhill

Josh

1 Main St.

New York

05-02-1968

10-06-1994

Heloo

Waleed

52 1st St.

Boston

22-05-1957

22-11-1996

Guido

Pica

3122 75th Ave. S.W.

Seattle

11-11-1960

11-03-2000

Bagel

Jean Philippe

1 Contoso Blvd.

London

22-03-1964

22-06-1998

Pris

Julian

Calle Smith 2

Mexico City

05-06-1972

05-01-2002

Hughes

Christine

3122 75th St. S.

Seattle

23-01-1970

23-04-1999

Riley

Steve

67 Big St.

Tampa

14-04-1964

14-10-2004

Birkby

Dana

2 Nosey Pkwy

Portland

29-10-1959

29-Mar-1997

Bagel

Jean Philippe

1 Contoso Blvd.

London

22-03-1964

20-06-1998

Hvis du vil bruge tabellen i databasen, skal du se fremgangsmåden i Forberede nogle eksempeldata tidligere i denne artikel.

Bruge en totalforespørgsel

  1. Klik på Forespørgselsdesign i gruppen Andet på fanen Opret.

    Billede af båndet i Access

  2. I dialogboksen Vis tabel skal du dobbeltklikke på den tabel, der indeholder de dublerede data, og derefter klikke på Luk.

    Tabellen vises i den øverste del af forespørgselsdesigneren.

  3. Tilføj kun det felt eller de felter, der indeholder de dublerede data. Du kan dobbeltklikke på et felt eller trække det fra tabelvinduet til rækken Felt i designgitteret.

    Hvis du bruger eksempeltabellen Medarbejdere, skal du tilføje felterne Efternavn, Fornavn og Fødselsdato, fordi disse felter afgør, om der forekommer dublering.

  4. Tilføj det felt, der angiver dine valgkriterier.

    I eksempeltabellen Medarbejdere skal du tilføje feltet Ansættelsesdato, fordi dette felt indeholder to forskellige værdier for medarbejderen.

    Bemærk: Føj ikke flere felter til gitteret. En totalforespørgsel må kun indeholde det felt eller de felter, der omfatter dublerede data, og ét andet felt, der indeholder de data, der skal bruges til testen.

  5. Under fanen Design i gruppen Vis/skjul skal du klikke på Totaler Knapflade . Rækken Total vises i designgitteret, og Grupper efter vises i de kolonner, der indeholder dit tabelfelt.

  6. Lad rækken Total være indstillet til Grupper efter for alle felter, og klik derefter på Kør Knapflade for at køre forespørgslen og vise resultatet i dataarkvisning. Hvis du brugte dataene fra ovenstående tabel, returnerer forespørgslen "Jean Philippe Bagel" to gange, fordi hans dublerede poster indeholder forskellige ansættelsesdatoer.

  7. Skift tilbage til designvisning, og angiv en betingelse til valg af én post blandt dubletterne. Hvis du vil bruge eksempeldata, skal du ændre værdien i kolonnen Ansættelsesdato i rækken Total som følger:

    • Hvis du vil have vist den oprindelige post, skal du ændre værdien til Første.

    • Hvis du vil have vist den senest indtastede post, skal du ændre værdien til Sidste.

    • Hvis du vil vælge en post ud fra værdien i et bestemt felt, skal du bruge funktionen Maks eller Min. I dette eksempel skal du få vist posten med den ældste ansættelsesdato. Det gøres ved at ændre værdien til Min.

  8. Klik på Kør Knapflade for at køre forespørgslen og vise resultaterne i dataarkvisning.

Hvis din forespørgsel giver de ønskede resultater, kan du derefter ændre det til en sletteforespørgsel og køre den for at slette dine dublerede poster hurtigt og let. Yderligere oplysninger om kørsel af en sletteforespørgsel finder du i afsnittet Bruge en sletteforespørgsel til at slette dublerede poster senere i denne artikel.

Starten af afsnittet

Bruge aggregatfunktioner (Antal, Sum, Gennemsnit) på dublerede poster

Udover at returnere en bestemt post blandt en gruppe dubletter, kan du også bruge aggregatfunktioner til at tælle antallet af dublerede poster eller opsummere dataene for et sæt dubletter. Normalt kører du denne funktion, før du tager nogen trin til at konsolidere eller slette dine dublerede data.

Du udfører disse opgaver ved at oprette en totalforespørgsel, der bruger aggregatfunktionerne, f.eks. Antal, Sum og Gennemsnit, til at opsummere de dublerede data i en tabel.

Bemærk: Du kan ikke redigere feltværdierne eller slette posterne ved gennemsyn af en totalforespørgsel i dataarkvisning. Hvis du vil redigere eller slette data, skal du åbne den underliggende tabel i dataarkvisning.

Fremgangsmåden i dette afsnit gør brug af tabellen Skyldigt beløb.

Firmanavn

Navn på kontaktperson

Adresse

By

Postnummer

Telefon

Forfaldent beløb

Baldwin Museum of Science

Josh Barnhill

1 Main St.

New York

12345

(505) 555-2122

DKK 556,78

Blue Yonder Airlines

Waleed Heloo

52 1st St.

Boston

23456

(104) 555-2123

DKK 1.893,24

Coho Winery

Pica Guido

3122 75th Ave. S.W.

Seattle

34567

(206) 555-2124

DKK 321,79

Contoso Pharmaceuticals

Jean Philippe Bagel

1 Contoso Blvd.

London

NS1 EW2

(171) 555-2125

DKK 457,68

Fourth Coffee

Julian Price

Calle Smith 2

Mexico City

56789

(7) 555-2126

DKK 98,75

Coho Winery

Christine Hughes

3122 75th St. S.

Seattle

34567

(206) 555-2125

DKK 321,79

Humongous Insurance

Steve Riley

67 Big St.

Tampa

01234

(916) 555-2128

DKK 297,45

Trey Research

Dana Birkby

2 Nosey Pkwy

Portland

43210

(503) 555-2129

DKK 509,09

Fourth Coffee

Reshma Patel

2 Calle Smith

Mexico City

56789

(7) 555-2233

DKK 98,75

Hvis du vil bruge tabellen i databasen, skal du se trinnene i Forberede nogle eksempeldata tidligere i denne artikel.

Oprette en totalforespørgsel

  1. Klik på Forespørgselsdesign i gruppen Andet på fanen Opret.

    Billede af båndet i Access

  2. I dialogboksen Vis tabel skal du dobbeltklikke på tabellen, du vil bruge i forespørgslen, eller klikke på Tilføj og derefter klikke på Luk for at lukke dialogboksen. Hvis du bruger eksempeldataene, skal du føje tabellen Skyldigt beløb til forespørgslen.

  3. Tilføj de felter, der indeholder dublerede data.

    Hvis du bruger tabellen Skyldigt beløb, tilføjer du felterne Firmanavn og By, fordi disse felter bestemmer dublering.

  4. Tilføj det felt, der leverer valgkriterier. Hvis du bruger tabellen Skyldigt beløb, skal du tilføje feltet Forfaldent beløb.

  5. Under fanen Design i gruppen Vis/skjul skal du klikke på Totaler Knapflade . Rækken Total vises i designgitteret, og Grupper efter vises i rækken for hvert felt.

  6. Gør et af følgende afhængigt af dine krav:

    • Hvis du vil tælle antallet af poster, skal du markere det felt, der indeholder de værdier, du vil tælle, og derefter ændre værdien i feltet i rækken Total til Antal. Hvis du bruger eksempeldataene, skal du indstille værdien i feltet Forfaldent beløb til Antal.

    • Hvis du vil beregne et totalbeløb, skal du indstille værdien i feltet til Sum.

      Bemærk: En totalforespørgsel kan kun vise oversigtsoplysninger. Du kan ikke vise de individuelle værdier.

  7. Klik på Kør Knapflade for at køre forespørgslen og få vist resultaterne i dataarkvisning.

Starten af afsnittet

Bruge en sletteforespørgsel for at slette dublerede poster

Når du har bekræftet, at en tabel indeholder dublerede poster, kan du slette de uønskede data ved at oprette og køre en sletteforespørgsel. Fremgangsmåden for at oprette og køre en sletteforespørgsel følger normalt disse trin:

  • Planlæg sletningen. Som del af denne proces skal du bestemme, om de data, du vil slette, er relateret til dataene i en anden tabel. Hvis det gør sig gældende, skal du afgøre, om dataene findes på "en"-siden af en en-til-mange-relation eller på "mange"-siden af relationen. Hvis dataene findes på "en"-siden, skal du aktivere en egenskab i relationen, før du kan slette data. Hvis dataene findes på "mange"-siden, kan du oprette og køre din forespørgsel uden at udføre denne yderligere handling. Du kan bruge relationsværktøjet til at undersøge relationerne i en database. Klik på Relationer under fanen Databaseværktøjer i gruppen Vis/skjul for at starte relationsværktøjet.

    Yderligere oplysninger om planlægning og kørsel af sletteforespørgsler finder du i artiklen Bruge en sletteforespørgsel til at slette én eller flere poster fra en database.

  • Opret en forespørgsel, f.eks. en udvælgelsesforespørgsel eller en UnikkeVærdier-forespørgsel, og tilføj eller rediger alle kriterier, indtil forespørgslen kun returnerer de data, du vil slette.

  • Konverter forespørgslen til en sletteforespørgsel, og kør derefter forespørgslen for at slette de uønskede data.

Vigtigt: Du kan ikke fortryde resultaterne af en sletteforespørgsel. Af den grund bør du sikkerhedskopiere databasen, før du kører sletteforespørgslen. Yderligere oplysninger om sikkerhedskopiering af databasen finder du i afsnittet Sikkerhedskopiere en database tidligere i denne artikel.

De følgende trin viser, hvordan du opretter en udvælgelsesforespørgsel, konverterer den til en sletteforespørgsel og kører den for at slette poster.

Oprette en udvælgelsesforespørgsel

  1. Klik på Forespørgselsdesign i gruppen Andet på fanen Opret.

    Billede af båndet i Access

    Forespørgselsdesigneren åbnes, og dialogboksen Vis tabel vises.

  2. Marker tabellen på "en"-siden af relationen, klik på Tilføj, og klik derefter på Luk.

    Tabellen vises som et vindue i den øverste del af designgitteret. I vinduet vises en liste over alle felter i tabellen. I denne figur ses en typisk tabel i forespørgselsdesigneren.

    En tabel i Forespørgselsdesigner

  3. Dobbeltklik på stjernen (*) for at føje alle felterne i tabellen til designgitteret.

    Når alle tabelfelterne tilføjes, kan sletteforespørgslen slette hele poster (rækker) fra tabellen.

  4. Du kan vælge at tilføje en kolonne, du kan indtaste kriterier i.

    Antag f.eks., at en kunde holder op med at drive sin virksomhed, og du skal slette alle ventende ordrer for den pågældende kunde. For at finde lige præcist disse poster føjer du felterne Kunde-id og Ordredato til designgitteret.

  5. Hvis du har fulgt foregående trin, skal du angive dine kriterier i rækken Kriterier i designgitteret.

    Du kan bruge kriterier, så du kun får returneret de poster, du vil slette. Ellers slettes hver post i tabellen af sletteforespørgslen. Hvis du vil fortsætte med eksemplet fra forrige trin, skal du angive id'et for den kunde, der har indstillet sine aktiviteter, og angive datoen, hvor de pågældende kundes ordrer blev ugyldige.

    Yderligere oplysninger om brug af kriterier finder du i artiklen Bruge en sletteforespørgsel til at slette én eller flere poster fra en database.

  6. Hvis du har fulgt foregående trin, skal du fjerne markeringen i afkrydsningsfeltet Vis for hvert kriteriefelt.

  7. Klik på Kør i gruppen Resultater på fanen Design.

    Kontroller, at forespørgslen returnerer de poster, du vil slette.

  8. Hold forespørgslen åben, og fortsæt derefter til næste trin.

Konvertere udvælgelsesforespørgslen til en sletteforespørgsel og køre forespørgslen for at slette data

  1. Klik på Designvisning for at skifte fra dataarket til Forespørgselsdesigner.

  2. Klik på Slet i gruppen Forespørgselstype på fanen Design.

    Udvælgelsesforespørgslen ændres i Access til en sletteforespørgsel, rækken Vis skjules i nederste sektion af designgitteret, og rækken Slet tilføjes.

    Kontroller, at der vises Fra i rækken Slet i kolonnen (alle felter) *. Ordet Hvor bør blive vist i alle kolonner med kriterier.

  3. Kontroller, at du vil slette dataene, og klik derefter på Kør Knapflade for at køre forespørgslen og få vist resultaterne i dataarkvisning.

    Du bliver bedt om at bekræfte sletningen.

    Klik på Ja for at slette dataene.

Skjule bekræftelsesmeddelelsen

Følg disse trin, hvis du ikke vil have vist en bekræftelsesmeddelelse hver gang, du kører en sletteforespørgsel eller en forespørgsel med en anden handling.

  • Klik på Microsoft Office-knappen Office-knapflade , og klik derefter på Access-indstillinger.

    Dialogboksen Access-indstillinger vises.

  • Klik på Avanceret, og fjern markeringen i afkrydsningsfeltet Handlingsforespørgsler under Bekræft i sektionen Redigering.

  • Klik på OK for at lukke dialogboksen Access-indstillinger.

Starten af afsnittet

Forhindre brugere i at indtaste dublerede værdier

Du kan forhindre brugere i at indtaste dublerede værdier ved at gennemtvinge flere regler:

  • Indstil et felt til kun at indeholde entydige værdier.    Gør ét af følgende for at implementere denne regel:

    • Angiv feltet som en primær nøgle. Du kan kun gøre dette, hvis der ikke allerede findes en primær nøgle for tabellen. Du angiver feltet som en primær nøgle ved at åbne tabellen i designvisning, højreklikke på feltnavnet og derefter klikke på Primær nøgle Knapflade . Der accepteres kun entydige værdier i et primært nøglefelt, og der vises en meddelelse for brugere, hvis de indtaster en dubleret værdi.

    • Hvis tabellen allerede har en primær nøgle, skal du angive egenskaben Indekseret for feltet til Ja (ingen dubletter) i tabellens designvisning. Denne egenskab forhindrer feltet i at acceptere samme værdi for mere end én post. Husk, at i nogle tilfælde, f.eks. i forbindelse med felter, der indeholder oplysninger om navn og by, skal du acceptere dubletter.

  • Angiv, at en kombination af værdier i to eller flere felter skal være entydige for hver enkelt post.    Antag f.eks., at du har en tabel med kontaktpersondata. Du kan angive en kombination af felter, f.eks. Navn på kontaktperson, Adresse og By, som den primære nøgle for tabellen.

    Denne fremgangsmåde fungerer, fordi det er højst usandsynligt, at to kontaktpersoner med samme navn også har samme adresse og by.

    Følg disse trin for at oprette en primær nøgle med flere felter:

    1. Åbn tabellen i designvisning.

    2. Klik på rækkevælgeren til venstre for det første felt, så hele rækken markeres.

    3. Hold CTRL nede, mens du klikker på rækkevælgeren for andre felter, du vil medtage i den primære nøgle.

    4. Højreklik, og klik derefter på Primær nøgle Knapflade i genvejsmenuen.

      Dette trin angiver egenskaben Indekseret i hvert felt i den primære nøgle til Ja (dubletter OK), så du f.eks. kan indtaste samme navn, adresse eller by i flere poster, men du kan ikke indtaste en identisk kombination af navn, adresse og by i mere end én post. Du kan f.eks. have to kontaktpersoner med navnet Jean Philippe Bagel, som bor på 2345 Main Street, men de kan ikke begge bo i London.

Starten af afsnittet

Toppen af siden

Finde og redigere, skjule eller slette dublerede data i flere tabeller

Oplysningerne i de følgende afsnit forklarer nogle af de måder, hvorpå du kan finde og redigere, skjule eller slette dublerede poster, der findes i flere tabeller. Normalt vil der være overlappende data i to eller flere tabeller, når du forsøger at integrere én database med en anden.

Vise dubletter, der findes i to tabeller, ved siden af hinanden

Vise én post alene, når der findes dubletter i to tabeller

Udelukkende vise dublerede poster, der blev fundet i begge tabeller

Udelukkende vise poster i én tabel, der ikke har en matchende post i en anden tabel

Slette dublerede poster fra én tabel og flette de resterende poster til en anden tabel

Udelukkende vise de forskellige poster ved visning af data fra relaterede tabeller

Vise en bestemt post eller opsummere dublerede data i relaterede tabeller

Vise dubletter, der findes i to tabeller, ved siden af hinanden

Ofte ender du med at have to tabeller, der indeholder dublerede eller overlappende data i samme database. Antag f.eks., at du har en tabel med navnet Klienter og en tabel med navnet Kunder:

Tabellen Klienter    

Navn

Adresse

By

Telefon

Fax

Baldwin Museum of Science

1 Main St.

New York

(505) 555-2122

(505) 555-3123

Blue Yonder Airlines

52 1st St.

Boston

(104) 555-2123

(104) 555-2124

Coho Winery

3122 75th Ave. S.W.

Seattle

(206) 555-2124

(206) 555-2125

Contoso Pharmaceuticals

1 Contoso Blvd.

London

(171) 555-2125

(171) 555-2126

Fourth Coffee

Calle Smith 2

Mexico City

(7) 555-2126

(7) 555-2127

Consolidated Messenger

3122 75th St. S.

Seattle

(206) 555-2125

(206) 555-2129

Graphic Design Institute

67 Big St.

Tampa

(916) 555-2128

(916) 555-2128

Litware, Inc.

3 Microsoft Way

Portland

(503) 555-2129

(503) 555-2110

Tailspin Toys

4 Microsoft Way

Portland

(503) 555-2233

(503) 555-2239

Tabellen Kunder    

Firmanavn

Navn på kontaktperson

Adresse

By

Postnummer

Telefon

Baldwin Museum of Science

Josh Barnhill

1 Main St.

New York

12345

(505) 555-2122

Blue Yonder Airlines

Waleed Heloo

52 1st St.

Boston

23456

(104) 555-2123

Coho Winery

Pica Guido

3122 75th Ave. S.W.

Seattle

34567

(206) 555-2124

Contoso Pharmaceuticals

Jean Philippe Bagel

1 Contoso Blvd.

London

NS1 EW2

(171) 555-2125

Fourth Coffee

Julian Price

Calle Smith 2

Mexico City

56789

(7) 555-2126

Adventure Works

Christine Hughes

3122 87th Way S.W.

Seattle

34567

(206) 555-2125

Humongous Insurance

Steve Riley

67 Big St.

Tampa

01234

(916) 555-2128

Trey Research

Dana Birkby

2 Nosey Pkwy

Portland

43210

(503) 555-2129

Fabrikam, Inc.

Jesper Aaberg

9 Empire Way

Seattle

56789

(206) 555-2233

Bemærk, at i dette tilfælde indeholder de enkelte tabeller ingen dublerede værdier, men felterne i begge tabeller indeholder nogle overlappende værdier, f.eks. data i feltet Navn i tabellen Klienter og data i feltet Firmanavn i tabellen Kunder.

Det er ikke altid muligt at integrere dataene i hver tabel ved at flette de to tabeller. For nogle kunder kan tabellen Klienter indeholde de seneste oplysninger, men tabellen Kunder indeholder muligvis ikke de seneste data for andre brugere. Normalt er den bedste fremgangsmåde at gennemse indholdet af begge tabeller og derefter beslutte, hvad der skal beholdes, og hvad der skal slettes.

Hvis du vil samle posterne fra tabellerne, skal du oprette en foreningsforespørgsel. Forespørgslen placerer dublerede poster sammen for at gøre det lettere at gennemse dem.

Bemærk: Du kan ikke redigere eller slette de data, som en foreningsforespørgsel returnerer. Hvis du vil redigere eller slette data, skal du åbne den underliggende tabel i dataarkvisning.

  1. Klik på Forespørgselsdesign i gruppen Andet på fanen Opret.

    Billede af båndet i Access

    Access opretter en ny forespørgsel. Dialogboksen Vis tabel vises.

  2. Luk dialogboksen Vis tabel uden at føje tabeller eller forespørgsler til designgitteret.

  3. Højreklik på forespørgslens dokumentfane, og klik derefter på SQL-visning.

  4. Hvis du brugte de ovenstående tabeller som eksempel, kan du indsætte følgende SQL-sætning i vinduet. Hvis du bruger dine egne data, kan du bruge følgende sætning som vejledning. Brug delsætningerne SELECT, UNION ALL SELECT og ORDER BY som vist, men erstat felt- og tabelnavnene med dine egne data.

    SELECT [Firmanavn], [Adresse], [City], [Telefon], FROM [Kunder]
    UNION ALL SELECT [Navn], [Adresse], [By], [Telefon], FROM [Klienter]
    ORDER BY [Firmanavn];

    Den første SELECT-sætning henter poster fra tabellen Kunder, og den anden SELECT-sætning henter poster fra tabellen Klienter. Delsætningen UNION ALL samler alle poster fra begge tabeller sammen. Sætningen ORDER BY sorterer posterne, så dublerede poster placeres sammen til let gennemsyn.

    Bemærk: Hver enkelt SELECT-sætning skal returnere samme antal felter og i samme rækkefølge. De tilsvarende felter kræves for at have kompatible datatyper, men der er én undtagelse: Du kan bruge et felt af typen Tal og et felt af typen Tekst som tilsvarende felter. Husk også, at feltnavne kan variere.

  5. Klik på Kør Knapflade for at køre forespørgslen og få vist resultaterne i dataarkvisning.

    Hvis du bruger posterne i tabellen ovenfor, ses 18 poster i visningen – alle ni poster fra tabellen Kunder og alle ni poster fra tabellen Klienter.

    Gem forespørgslen, og luk derefter visningen. Du skal bruge denne forespørgsel i næste afsnit.

Starten af afsnittet

Vise én post alene, når der findes dubletter i to tabeller

Nogle gange kan det være nødvendigt kun at få vist de forskellige poster i to lignende tabeller. Hvis en post findes i begge tabeller, kan du medtage posten fra den første tabel og ignorere den tilsvarende post i den anden tabel.

I Access behandles poster fra forskellige tabeller kun som dubletter, hvis værdierne i alle de markerede felter matcher. Hvis du f.eks. medtager felterne Firmanavn, By, Adresse, Telefon og Fax i forespørgslen, skal værdierne i alle fem felter matche, før posten behandles som en dublet i Access.

Fremgangsmåden i dette afsnit viser, hvordan forespørgslen fra forrige afsnit ændres, så den viser alle poster i tabellen Kunder og kun de entydige poster fra tabellen Klienter.

Bemærk: Du kan ikke redigere de data, som returneres fra en foreningsforespørgsel. Hvis du vil redigere eller slette data, skal du åbne de underliggende tabeller i dataarkvisning.

Ændre forespørgslen

  1. Åbn den forespørgsel, du oprettede i det forrige afsnit.

  2. Klik på SQL-visning på forespørgslens dokumentfane for at få vist SQL-sætningen.

  3. Slet felterne [Telefon] og [Telefon] fra begge SELECT-sætningerne.

  4. Slet ordet ALL, der følger ordet UNION. Dette medfører, at forespørgslen ignorerer de dublerede poster fra tabellen Klienter. SQL-sætningen ser ud som følgende.

    SELECT [Firmanavn], [Adresse], [By], FROM [Kunder]
    UNION SELECT [Navn], [Adresse], [By], FROM [Klienter]
    ORDER BY [Firmanavn];

  5. Klik på Kør Knapflade for at køre forespørgslen og få vist resultaterne i dataarkvisning.

    Hvis du bruger eksempeldataene fra forrige afsnit, returnerer forespørgslen 14 poster i stedet for 18.

Starten af afsnittet

Udelukkende vise dublerede poster, der blev fundet i begge tabeller

Du bruger en indre joinforbindelse, når du vil foretage en forespørgsel efter udelukkende matchende værdier fra to tabeller. Hvis du ikke kender Access så godt endnu, skal du vide, at en indre joinforbindelse er en handling, der udelukkende sammenkæder rækkerne i to eller flere tabeller, hvis der findes matchende værdier i de joinforbundne felter.

Du opretter en indre joinforbindelse ved at opbygge en forespørgsel, der indeholder begge tabeller, og derefter oprette en relation mellem felterne, der indeholder de dublerede værdier. Som standard opretter Access en indre joinforbindelse, når du opretter relationen.

Bemærk: Du kan ikke redigere felterne eller rækkerne, der returneres af en udvælgelsesforespørgsel, der har en indre joinforbindelse. Hvis du vil redigere dataene, skal du åbne de underliggende tabeller og ændre værdierne i hver enkelt tabel.

Oprette en forespørgsel, der har en indre joinforbindelse

  1. Klik på Forespørgselsdesign i gruppen Andet på fanen Opret.

    Billede af båndet i Access

  2. I dialogboksen Vis tabel, skal du dobbeltklikke på tabellen Kunder og tabellen Klienter og derefter klikke på Luk for at lukke dialogboksen.

  3. Identificer de felter, der indeholder matchende værdier i dublerede poster. Hvis du bruger eksempeltabellerne, svarer feltet Firmanavn i tabellen Kunder til feltet Navn i tabellen Klienter.

  4. Træk feltet Firmanavn fra den første tabel til feltet Navn i den anden tabel. Access forbinder felterne med en linje.

    En linje mellem tabeller, der angiver, at tabellerne Kunder og Klienter er relaterede, på grundlag af kundenavnene

    Som standard oprettes der i forespørgslen en indre joinforbindelse mellem de to tabeller. En indre joinforbindelse vælger kun de poster, hvor feltet Firmanavn matcher feltet Navn.

  5. Dobbeltklik på feltet Firmanavn for at føje det til forespørgslens designgitter. Dette felt bidrager til at identificere posterne i dataarkvisning.

  6. Dobbeltklik på de andre ønskede felter fra tabellerne Kunder og Klienter for at føje dem til forespørgslens designgitter. I dette tilfælde skal du tilføje feltet Telefon fra tabellen Kunder og feltet Telefon fra tabellen Klienter.

  7. Klik på Kør Knapflade for at køre forespørgslen og få vist resultaterne i dataarkvisning. Forespørgslen returnerer fem poster – én for hver kunde, der findes en post for i begge tabeller.

Firmanavn

Telefon (Kunder)

Telefon (Klienter)

Baldwin Museum of Science

(505) 555-2122

(505) 555-3123

Blue Yonder Airlines

(104) 555-2123

(104) 555-2124

Coho Winery

(206) 555-2124

(206) 555-2124

Contoso Pharmaceuticals

(171) 555-2125

(171) 555-2125

Fourth Coffee

(7) 555-2126

(7) 555-2126

Starten af afsnittet

Udelukkende vise poster i én tabel, der ikke har en matchende post i en anden tabel

Hvis vi fortsætter med scenariet, hvor tabellen Kunder og tabellen Klienter har dublerede data, vil du nu se, hvad du skal gøre for at få vist de poster i tabellen Kunder, som ikke har en dubleret post i tabellen Klienter. Dette kan gøre det lettere for dig at træffe beslutninger for bestemte kunder alene ud fra indholdet af tabellen Kunder, før du tager trin til at konsolidere de to tabeller.

Du kan kun få vist de poster i tabellen Kunder, som ikke har en match i tabellen Klienter, ved at oprette en forespørgsel af typen Find ikke-relaterede poster. Ved at bruge eksempeldataene henter denne type forespørgsler alle posterne i tabellen Kunder, som ikke har en match i tabellen Klienter.

Bemærk: Du kan redigere feltværdierne eller slette poster, når du får vist denne forespørgsel i dataarkvisningen.

Oprette en forespørgsel af typen Find en ikke-relateret post

  1. Klik på Guiden Forespørgsel i gruppen Andet på fanen Opret.

    Billede af båndet i Access

  2. Klik på Forespørgselsguiden Find ikke-relaterede poster i dialogboksen Ny forespørgsel, og klik derefter på OK.

  3. Klik på tabellen Kunder – Den indeholder de poster, som du er interesseret i. Klik på Næste.

  4. Klik på tabellen Klienter – Dette er den tabel, du vil sammenligne tabellen Kunder med. Klik på Næste.

  5. Klik på feltet Firmanavn i tabellen Kunder, klik på feltet Navn i tabellen Klienter, og klik derefter på knappen <=>. Dette joinforbinder tabellerne ud fra kundenavne. Klik på Næste.

  6. Marker de felter, du vil medtage i visningen. I dette tilfælde skal du tilføje felterne Firmanavn, Adresse, By og Telefon. Klik på Næste.

  7. Skriv et navn til forespørgslen, og klik på Udfør for at få vist posterne i dataarkvisningen. Hvis du bruger eksempeldataene, returnerer forespørgslen fire poster – i dette tilfælde posterne i tabellen Kunder, der ikke har en overlappende post i tabellen Klienter.

Firmanavn

Adresse

By

Telefon

Adventure Works

3122 87th Way S.W.

Seattle

(206) 555-2125

Humongous Insurance

67 Big St.

Tampa

(916) 555-2128

Trey Research

2 Nosey Pkwy

Portland

(503) 555-2129

Fabrikam, Inc.

9 Empire Way

Seattle

(206) 555-2233

Starten af afsnittet

Slette dublerede poster fra én tabel og flette de resterende poster til en anden tabel

Når du har gennemset de dublerede data i lignende tabeller, kan du slette de dublerede poster og flette de resterende data i én enkelt tabel. I processen følges disse generelle fremgangsmåder:

  • I den tabel, du vil slette, kan du vælge at opdatere alle data, du vil flette. Det ligger uden for dette emne at forklare, hvordan data opdateres.

    Flere oplysninger om måder at opdatere data på finder du i artiklen Opdatere dataene i en database.

  • Du kan vælge at gennemse alle relationer, der kan forekomme mellem den tabel, du vil slette, og andre tabeller i databasen. Hvis der findes en relation, bør du normalt slette relationen og derefter oprette en ny relation med den anden tabel (den tabel, der indeholder de flettede data). Du skal dog sikre, at værdierne i den primære nøgle i den nye tabel, svarer til værdierne for den primære nøgle i de andre tabeller.

  • Opret en sletteforespørgsel, der bruger egenskaben UnikkeVærdier til at finde og slette alle matchende poster. Som del af dette skal du sikre, at du ikke afbryder nogen relationer mellem tabellerne i databasen. Antag f.eks., at du vil flytte alle entydige poster fra tabellen Klienter til tabellen Kunder og derefter slette tabellen Klienter. Hvis tabellen Klienter er relateret til andre tabeller i databasen, skal du sikre, at tabellen Kunder påtager disse relationer.

    Flere oplysninger finder du i artiklen Oprette, redigere eller slette en relation.

  • Opret en tilføjelsesforespørgsel for at føje de resterende poster fra den tabel, du vil slette, til den tabel, du vil beholde. Som del af denne proces, kan det være nødvendigt at føje det primære nøglefelt og værdierne for den primære nøgle til den tabel, du vil beholde.

  • Slet den uønskede tabel.

Fremgangsmåden i dette afsnit viser, hvordan du opretter og bruger en sletteforespørgsel og en tilføjelsesforespørgsel, og hvordan du sletter en tabel. Disse trin gør brug af tabellen Kunder og Klienter.

Tabellen Kunder    

Firmanavn

Navn på kontaktperson

Adresse

By

Postnummer

Telefon

Baldwin Museum of Science

Josh Barnhill

1 Main St.

New York

12345

(505) 555-2122

Blue Yonder Airlines

Waleed Heloo

52 1st St.

Boston

23456

(104) 555-2123

Coho Winery

Pica Guido

3122 75th Ave. S.W.

Seattle

34567

(206) 555-2124

Contoso Pharmaceuticals

Jean Philippe Bagel

1 Contoso Blvd.

London

NS1 EW2

(171) 555-2125

Fourth Coffee

Julian Price

Calle Smith 2

Mexico City

56789

(7) 555-2126

Adventure Works

Christine Hughes

3122 87th Way S.W.

Seattle

34567

(206) 555-2125

Humongous Insurance

Steve Riley

67 Big St.

Tampa

01234

(916) 555-2128

Trey Research

Dana Birkby

2 Nosey Pkwy

Portland

43210

(503) 555-2129

Fabrikam, Inc.

Jesper Aaberg

9 Empire Way

Seattle

56789

(206) 555-2233

Tabellen Klienter    

Navn

Adresse

By

Telefon

Fax

Baldwin Museum of Science

1 Main St.

New York

(505) 555-2122

(505) 555-3123

Blue Yonder Airlines

52 1st St.

Boston

(104) 555-2123

(104) 555-2124

Coho Winery

3122 75th Ave. S.W.

Seattle

(206) 555-2124

(206) 555-2125

Contoso Pharmaceuticals

1 Contoso Blvd.

London

(171) 555-2125

(171) 555-2126

Fourth Coffee

Calle Smith 2

Mexico City

(7) 555-2126

(7) 555-2127

Consolidated Messenger

3122 75th St. S.

Seattle

(206) 555-0170

(206) 555-0171

Graphic Design Institute

67 Big St.

Tampa

(916) 555-2128

(916) 555-2128

Litware, Inc.

3 Microsoft Way

Portland

(503) 555-0192

(503) 555-0193

Tailspin Toys

4 Microsoft Way

Portland

(503) 555-2233

(503) 555-2239

Hvis du vil bruge disse tabeller i en database, skal du se Forberede nogle eksempeldata tidligere i denne artikel. I denne øvelse antages, at tabellen Kunder indeholder de seneste oplysninger – det vil sige, at du vil slette de matchende poster fra tabellen Klienter og derefter flette de resterende poster fra tabellen Klienter til tabellen Kunder.

Slette uønskede data

  1. Klik på Forespørgselsdesign i gruppen Andet på fanen Opret.

    Billede af båndet i Access

  2. I dialogboksen Vis tabel skal du dobbeltklikke på tabellen Kunder og tabellen Klienter og derefter lukke dialogboksen.

  3. Joinforbind de to tabeller ved at trække feltet Firmanavn i tabellen Kunder til feltet Navn i tabellen Klienter.

  4. Højreklik på det tomme område i øverste halvdel af vinduet, og klik derefter på Egenskaber. Indstil værdien af egenskaben UnikkePoster til Ja.

    Ved at joinforbinde de to tabeller og indstille forespørgslens egenskab UnikkePoster til Ja undgår du meddelelsen Der kan ikke slettes fra de angivne tabeller, der ellers kunne vises under kørsel af denne forespørgsel.

  5. Klik på Slet i gruppen Forespørgselstype på fanen Design.

  6. Træk stjernen (*) fra tabellen Klienter til rækken Felt i den første kolonne i forespørgslens designgitter.

    Stjernen (*) på feltlisten repræsenterer alle felterne i tabellen

    I rækken Tabel vises Klienter, og i rækken Slet vises Fra. Det betyder, at forespørgslen sletter rækker fra tabellen Klienter.

  7. Du skal nu angive, hvilke poster forespørgslen skal slette. Hvis du bruger eksempeltabellerne, kan du gøre det ved at slette poster, hvori værdierne i felterne Navn, Adresse og By matcher de tilsvarende felter i tabellen Kunder.

    Træk feltet Navn fra tabellen Klienter til den første tomme celle i rækken Felt i forespørgslens designgitter. Gør det samme med felterne Adresse og By fra tabellen Klienter.

  8. Hvis du bruger eksempeltabellerne, skal du skrive [Kunder].[Firmanavn] på rækken Kriterier for feltet Navn. Skriv [Kunder].[Adresse] på rækken Kriterier for feltet Adresse. Skriv [Kunder].[By] på rækken Kriterier for feltet By. Forespørgslens designgitter skal se sådan ud:

    Felterne og kriterierne, der bestemmer dublerede poster

    Når du kører forespørgslen, sletter den alle poster, der ikke opfylder kriterierne i forespørgslen – poster med matchende værdier i de tre felter i hver tabel.

  9. Klik på Vis Knapflade for at gennemse de poster, der slettes, når du kører forespørgslen. Der vises fem dublerede poster fra tabellen Klienter.

  10. Klik på Kør Knapflade for at køre forespørgslen. Klik på Ja, når du bliver bedt om at bekræfte sletningen.

  11. Gå til de næste trin for at oprette en tilføjelsesforespørgsel.

Tilføje de resterende data

  1. Klik på Forespørgselsdesign i gruppen Andet på fanen Opret.

    Billede af båndet i Access

  2. I dialogboksen Vis tabel skal du dobbeltklikke på kildetabellen, dobbeltklikke på den tabel, der indeholder de poster, du vil tilføje, og derefter klikke på Luk. Hvis du bruger eksempeldataene, skal du dobbeltklikke på tabellen Klienter.

  3. Klik på Tilføj i gruppen Forespørgselstype på fanen Design.

  4. I dialogboksen Tilføj på listen Tabelnavn skal du vælge destinationstabellen (den tabel, du vil føje data til). Hvis du bruger eksempeltabellerne, skal du markere tabellen Kunder og derefter klikke på Luk.

  5. Flyt de felter, du vil tilføje, fra kildetabellen til rækken Felt i designgitteret.

    Vigtigt: Flyt kun de felter, der har et tilsvarende felt i destinationstabellen.

    Hvis du bruger eksempeldataene, skal du flytte felterne Navn, Adresse og Telefon.

  6. Klik på rækken Føj til i hvert felt, og vælg navnet på det tilsvarende felt i destinationstabellen. Hvis du bruger eksempeldataene, skal du vælge henholdsvis Kundenavn, Adresse og Telefon.

  7. Fordi du vil føje alle posterne i tabellen Klienter til tabellen Kunder, er det ikke nødvendigt at angive kriterier. Klik på Vis Knapflade for at gennemse de poster, der skal føjes til tabellen Kunder, når du kører forespørgslen.

  8. Gem og luk visningen.

  9. Find tilføjelseshandlingen, og dobbeltklik på den. Klik på Ja for at godkende ændringen.

    Jeg vil ikke have vist bekræftelsesmeddelelser, hver gang jeg kører denne forespørgsel

    • Klik på Microsoft Office-knappen Office-knapflade , og klik derefter på Access-indstillinger.

    • Klik på Redigering i dialogboksen Access-indstillinger.

    • Fjern markeringen i afkrydsningsfeltet Handlingsforespørgsler under Bekræft i afsnittet Generel redigering.

Slette tabellen

  1. Sørg for, at du har de nødvendige tilladelser til at slette tabeller i databasen, at databasen ikke er skrivebeskyttet, og at tabellen ikke er åben af en anden bruger.

  2. Klik på den tabel, du vil slette, i navigationsruden.

  3. Tryk på DELETE, og klik derefter på Ja for at bekræfte, at du vil slette tabellen.

    Bemærk: Når du sletter databasetabeller, kan en del eller hele funktionen af databasen blive ødelagt. Derfor skal du planlægge en sletning for at sikre, at databasen bevarer sin funktionalitet, og du bør altid sikkerhedskopiere din database, før du sletter data eller andre komponenter.

    Yderligere oplysninger om sletning af data finder du i artiklen Slette en eller flere poster fra en database.

Starten af afsnittet

Udelukkende vise de forskellige poster ved visning af data fra relaterede tabeller

En forespørgsel, der samler data fra to relaterede tabeller, kan vise poster, hvor alle felter ser ud til at matche. Hvis du dog gennemser tabellerne, vil du muligvis opdage, at tabellerne rent faktisk ikke indeholder dublerede poster. Problemet opstår, når forespørgslen ikke omfatter bestemte felter, f.eks. en primær nøgle, som entydigt kan identificere hver enkelt post. I sådanne scenarier bør du ikke slette posterne, men du kan foretage handlinger for at skjule, hvad der ser ud som dubletter.

Antag f.eks., at du bruger en forespørgsel til at samle kundeordredata fra to tabeller og sikre, at dine medarbejdere udfylder ordrer i tide. Dine kunder kan placere en ordre på flere produkter, så hvert produkt bliver en separat post (en række) i de underliggende tabeller. Fordi ordren placeres på en enkelt dag, og derefter forsendes på en enkelt dag, kan posterne for en bestemt ordre indeholde store antal dublerede datoer, som vist her:

Felter med entydige værdier fjernet fra ordreudførelsesforespørgslen

Fordi du ved, at ordrer modtages på en bestemt dag, og du afsender ordrerne på en bestemt dag, behøver du kun at se én post (én række) pr. ordre. Hvis du vil have vist entydige poster fra de tabeller, der indeholder ordredataene, kan du angive egenskaben UnikkePoster for forespørgslen til Ja. Når egenskaben indstilles til Ja, kigger forespørgslen på alle rækkerne i tabellerne, og hvor der findes matchende rækker (ikke kun felter), udelukker forespørgslen alle undtagen én af disse dublerede rækker fra resultatsættet.

Indstille egenskaben UnikkePoster til Ja

  1. Tryk på F4, mens forespørgslen er åben i designvisning, for at få vist egenskabsarket.

  2. I egenskabsarket skal du indstille egenskaben UnikkePoster til Ja og derefter lukke egenskabsarket.

    Vise forespørgslens egenskabsark

Når du går videre, skal du huske, at når egenskaben UnikkePoster er indstillet til Ja, sammenligner forespørgslen hele rækker, og rækkerne i alle involverede tabeller skal matche, før forespørgslen udelukker nogen data. Desuden kan du kun bruge indstillingen for egenskaben UnikkePoster, når en forespørgsel omfatter to eller flere tabeller.

Når du skifter til dataarkvisning, vises kun én post for hver ordre.

Én post pr. ordre fra tabellen Ordrer

Husk også, at når du indstiller egenskaben UnikkePoster til Ja og kører forespørgslen, vil du muligvis se, hvad der ser ud til at være dublerede poster. Som i det forrige eksempel vil du muligvis stadig finde poster med matchende ordre- og forsendelsesdatoer, som her:


I visningen ses stadig dublerede poster

Dette sker, når du modtager to forskellige ordrer på samme dag, og du derefter afsender dem samme dag. Hvis du indstiller egenskaben UnikkePoster til Ja, skjules sådanne poster ikke i forespørgselsresultaterne, fordi posterne ikke virkelig er dubletter i de underliggende tabeller.

Hvis du kun vil se én forekomst af sådanne poster (dvs. én ordrepost pr. dag), skal du indstille forespørgslens egenskab UnikkeVærdier til Ja. Når egenskaben UnikkeVærdier er indstillet til Ja, søger forespørgslen ikke i de underliggende tabeller efter dubletter. I stedet søges der i værdierne for de felter, du medtager, og hvis alle felter matcher for de to poster, skjules den ene post i visningen.

Egenskaben UnikkeVærdier indstilles på samme måde som egenskaben UnikkePoster – få vist egenskabsarket for forespørgslen, og angiv indstillingen til Ja. I egenskabsarket findes egenskabsboksen UnikkeVærdier over egenskabsboksen UnikkePoster.

Egenskaben UnikkeVærdier er angivet til ja

I fortsættelse af det forrige eksempel vises nu kun de datoer, hvorpå én eller flere ordrer blev modtaget eller afsendt. Der vises ikke én post pr. ordre.


Datoer, hvorpå ordrer blev modtaget eller afsendt

Bemærk: Det er ikke muligt at bruge egenskaberne sammen, fordi indstilling af egenskaben UnikkePoster til Ja udføres på de rækker i tabellerne, der leverer data til forespørgslen, og indstilling af egenskaben UnikkeVærdier til Ja kun udføres på felterne i forespørgslen. Hvis du indstiller én egenskab til Ja, indstilles den anden automatisk til Nej i Access. Dog kan begge indstilles til Nej for at returnere alle poster.

Følgende tabel indeholder en opsummering, som du kan bruge til lettere at vælge indstillinger for egenskaberne UnikkePoster og UnikkeVærdier i en forespørgsel.

Hvis forespørgslen er baseret på...

Og du vil have vist...

Skal du indstille...

Resultat...

To eller flere tabeller, men alle forespørgselsfelter kommer fra en enkelt tabel

Forskellige poster fra tabellen (alle felter i tabellen skal matche, før to poster betragtes som dubletter)

UnikkePostertil Ja. (Access indstiller automatisk UnikkeVærdier til Nej).

Hvis tabellen indeholder dublerede poster, ignoreres dubletterne. Dog kan forespørgselsresultaterne stadig indeholde poster, hvor alle felter matcher, hvis forespørgslen ikke omfatter et felt, der entydigt identificerer posterne.

Én eller flere tabeller

Forskellige poster i forespørgslens dataarkvisning (alle felter i dataarkvisningen skal matche, før to poster betragtes som dubletter)

UnikkeVærdiertil Ja. (Access indstiller automatisk UnikkePoster til Nej).

Forespørgslen dublerer poster (hvor alle felter matcher) i dataarkvisningen. Du skal dog huske, at du muligvis ikke ser alle de forskellige poster fra den underliggende tabel.

Én eller flere tabeller

Alle poster

UnikkeVærdier til Nej og UnikkePoster til Nej.

Der vises alle entydige og dublerede poster fra begge tabeller.

Starten af afsnittet

Vise en bestemt post eller opsummere dublerede data i relaterede tabeller

Når du får vist dublerede data i relaterede tabeller, vil du måske gerne se en bestemt post blandt dubletsættet, eller du vil måske opsummere dublerede data ved at bruge Antal, Sum eller én af de andre aggregatfunktioner.

Ligesom i scenariet, der blev beskrevet i forrige afsnit, findes der måske reelt ikke dublerede data i tabellerne, men når du gennemser data fra to tabeller, der deler en en-til-mange-relation, f.eks. tabellerne Ordrer og Ordredetaljer, finder du muligvis flere poster med mange matchende felter. En medarbejder har måske modtaget flere ordrer fra samme kunde, eller medarbejderen har måske solgt det samme produkt som del af forskellige ordrer samme dag osv. Hvis du er interesseret i at finde data for at besvare forespørgsler som den følgende, skal du opsummere data i stedet for at slette dublerede data.

  • Find det samlede antal af hver af de produkter, som medarbejderen har solgt.

  • Tæl det samlede antal ordrer, som hver enkelt medarbejder har håndteret for hver kunde.

  • Find dagens største ordre for hver medarbejder.

Hvis du vil opsummere data, skal du bruge en totalforespørgsel i stil med dem, der blev diskuteret i afsnittet Vise forskellige poster ved at angive, hvilken dublet der skal vises i resultaterne tidligere i denne artikel. I dette afsnit blev der forklaret, hvordan en totalforespørgsel bruges til en enkelt tabel. Hvis du vil oprette en totalforespørgsel, der indeholder flere tabeller, skal du gøre følgende:

  • Husk at tilføje den anden tabel, når du tilføjer den første tabel i dialogboksen Vis tabel.

  • Når du tilføjer felterne, der afgør dublering, skal du trække de felter, du vil bruge fra hver tabel, og for alle felter skal du indstille værdien i rækken Total i kolonnen Grupper efter.

  • Det felt, der identificerer den post, du vil have vist, eller som indeholder værdierne, du vil opsummere, kan komme fra hvilken som helst af tabellerne.

Starten af afsnittet

Toppen af siden

Del Facebook Facebook Twitter Twitter Mail Mail

Var disse oplysninger nyttige?

Fantastisk! Har du mere feedback?

Hvordan kan vi forbedre det?

Tak for din feedback!

×