Oprette og køre en sletteforespørgsel

Når du enten hurtigt vil slette mange data eller slette et datasæt med jævne mellemrum i en Access-skrivebordsdatabase, kan en slette- eller opdateringsforespørgsel være nyttig, fordi forespørgslerne gør det muligt at angive kriterier til hurtigt at finde og slette dataene. Det kan også være en tidsbesparelse at bruge en forespørgsel, fordi du kan genbruge en gemt forespørgsel.

Bemærk!: Før du sletter alle data eller kører en sletteforespørgsel, skal du kontrollere, at du har en sikkerhedskopi af din Access-database på skrivebordet.

Hvis du kun vil slette nogle få poster, behøver du ikke en forespørgsel. Du skal blot åbne tabellen i dataarkvisning, vælge de felter (kolonner) eller poster (rækker), du vil slette, og derefter trykke på Delete.

Vigtigt!: Oplysningerne i denne artikel er kun beregnet til brug med skrivebordsdatabaser. Du kan ikke bruge slette- eller opdateringsforespørgsler i Access-webapps.

I denne artikel

Vælge en forespørgselstype

Du kan bruge enten en opdateringsforespørgsel eller en sletteforespørgsel til at slette data fra databasen. Vælg en forespørgsel baseret på oplysningerne i følgende tabel:

Forespørgselstype

Anvendelse

Resultater

Brug en sletteforespørgsel

Sådan fjerner du hele poster (rækker) fra en tabel eller to relaterede tabeller samtidigt.

Bemærk!: Hvis posterne findes på en-siden af en en til mange-relation, kan det være nødvendigt at ændre relationen, før du kører sletteforespørgslen. Se afsnittet om sletning af data fra relaterede tabeller.

Sletteforespørgsler fjerner alle data i hvert felt, herunder den nøgleværdi, der gør en post entydig

Brug en opdateringsforespørgsel

Sådan sletter du individuelle feltværdier fra en tabel.

Gør det nemmere at slette værdier ved at opdatere de eksisterende værdier til enten en null-værdi (det vil sige ingen data) eller en tom streng (et par dobbelte anførselstegn uden mellemrum mellem dem).

Toppen af siden

Ting, du skal kontrollere, før du bruger en forespørgsel til at slette data

  • Sørg for, at filen ikke er en skrivebeskyttet fil:

    1. Højreklik på Start, og klik på Åbn Windows Stifinder.

    2. Højreklik på databasefilen, og klik på Egenskaber.

    3. Se, om attributten Skrivebeskyttet er markeret.

  • Kontrollér, at du har de nødvendige tilladelser til at slette poster fra databasen. Hvis du ikke er sikker, kan du kontakte systemadministrator eller databasedesigneren.

  • Sørg for, at du har aktiveret indhold i databasen. Som standard blokerer Access alle handlingsforespørgsler (slette-, opdaterings- og tabelforspørgsler), medmindre du først har tillid til databasen. Du kan finde oplysninger om tillid til en database i afsnittet Forhindre deaktiveret tilstand i at blokere en forespørgsel.

  • Bed andre brugere af databasen om at lukke alle tabeller, formularer, forespørgsler og rapporter, der bruger de data, du vil slette. Dette hjælper med at undgå låsefejl.

  • Før du redigerer eller sletter poster, er det en god ide at lave en sikkerhedskopi af databasen, hvis du skulle ønske at fortryde ændringerne.

Tip!: Hvis et stort antal brugere opretter forbindelse til databasen, kan det være nødvendigt at lukke databasen og derefter åbne den igen med udelt adgang.

Sådan åbner du en database med udelt adgang

  1. Klik på fanen Filer > Åbn.

  2. Gå til og peg for at vælge databasen, klik på pilen ud for knappen Åbn, og klik derefter på Åbn med udelt adgang.

    Åbne en fil med udelt adgang

Sikkerhedskopier databasen

  1. Klik på fanen Filer, peg på Gem som.

  2. Klik på Gem database som,klik på Sikkerhedskopier database. Den oprindelige fil lukkes i Access, og der oprettes en sikkerhedskopi. Derefter genåbnes den oprindelige fil.

  3. Klik på Gem som, og angiv et navn og en placering til sikkerhedskopien, og klik på Gem.

Bemærk!: Hvis du bruger en skrivebeskyttet database eller en database, der er oprettet i den tidligere version af Access, får du muligvis vist en meddelelse om, at det ikke er muligt at oprette en sikkerhedskopi af databasen.

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 omdøbte sikkerhedskopi i Access.

Brug af en sletteforespørgsel

Hvis du vil oprette en sletteforespørgsel, skal du klikke på Forespørgselsdesign i gruppen Forespørgsler. Dobbeltklik på hver tabel, hvorfra du vil slette poster, og klik derefter på Luk.

Tabellen vises som et vindue i den øverste del af forespørgselsdesigngitteret. På listen over felter skal du dobbeltklikke på stjernen (*) for at føje alle felterne i tabellen til designgitteret.

Brug af et bestemt kriterium i en sletteforespørgsel

Vigtigt!: Brug kriterier til kun at returnere de poster, du vil slette. Ellers fjerner sletteforespørgslen alle poster i tabellen.

Dobbeltklik på det felt, du vil angive som kriterier for sletningen, angiv et af kriterierne i rækken Kriterier i forespørgselsdesigneren, og fjern derefter markeringen i afkrydsningsfeltet Vis for hvert kriteriefelt.

Et eksempel på, hvornår du måske vil bruge denne indstilling: Antag, at du vil fjerne alle ventende ordrer for en kunde. For kun at finde disse poster skal du tilføje felterne Kunde-id og Ordredato i forespørgselsdesigngitteret, og derefter skal du angive kundens id-nummer, og den dato, hvor den pågældende kundes ordrer blev ugyldige.

  1. På fanen Design skal du klikke på Vis > Dataarkvisning.

  2. Kontrollér, at forespørgslen returnerer de poster, du vil slette, og tryk derefter på Ctrl+S for at gemme forespørgslen.

  3. Dobbeltklik på forespørgslen i navigationsruden for at køre forespørgslen.

Toppen af siden

Opdatere en opdateringsforespørgsel

Bemærk!: Du kan ikke bruge indstillingen Opdateringsforespørgsel i en Access-webapp.

I dette afsnit forklares det, hvordan du bruger en opdateringsforespørgsel til at slette individuelle felter fra tabeller. Husk, at hvis du kører en opdateringsforespørgsel for at slette data, ændres de eksisterende værdier til enten NULL- eller en tom streng (et par dobbelte anførselstegn uden mellemrum) afhængigt af de kriterier, du angiver.

  1. Klik på fanen Opret, og klik på Forespørgselsdesign i gruppen Forespørgsler.

  2. Vælg den tabel, som indeholder de data, du vil slette (hvis tabellen er relateret, skal du markere tabellen på en-siden af relationen), klikke på Tilføj og derefter klikke på Luk.

    Tabellen vises som et vindue i den øverste del af forespørgselsdesigngitteret. I vinduet vises alle felterne i den markerede tabel.

  3. Dobbeltklik på stjernen ( * )forat føje alle felterne i tabellen til designgitteret. Tilføjelse af alle tabelfelter gør det muligt for sletteforespørgslen at fjerne hele poster (rækker) fra tabellen.

    Du kan også angive kriterier for et eller flere felter i rækken Kriterier i designeren og derefter fjerne markeringen i afkrydsningsfeltet Vis for hvert kriteriefelt. Du kan finde flere oplysninger om brug af kriterier i eksempelkriterierne for tabellen udvælgelsesforespørgsler.

    Bemærk!: Du kan bruge kriterier til kun at returnere de poster, du vil ændre. Ellers indstilles opdateringsforespørgslen til NULL for alle poster i hvert af felterne i forespørgslen.

  4. Klik på Vis i gruppen Resultater på fanen Design , og klik derefter på Dataarkvisning.

  5. Kontrollér, at forespørgslen returnerer de poster, du vil angive til NULL eller en streng af længden nul (et par dobbelte anførselstegn uden mellemrum mellem dem ("").

  6. Gentag efter behov trin 3 til 5, og rediger felterne eller kriterierne, indtil forespørgslen kun returnerer de data, du vil slette, og tryk derefter på Ctrl+S for at gemme forespørgslen.

  7. Dobbeltklik på forespørgslen i navigationsruden for at køre forespørgslen.

Toppen af siden

Flere oplysninger

Sletning af data fra relaterede tabeller

Hvis du vil slette data fra flere relaterede tabeller, skal du aktivere indstillingerne Referentiel integritet og Kaskadevis sletning af relaterede poster for hver relation. Dette giver din forespørgsel mulighed for at slette data fra tabellerne på relationens "en"- og "mange"-sider. Forberedelse til slettede relaterede data kræver bekræftelse af følgende:

  • Afgør, hvilke poster der findes på relationens en-side, og som findes på mange-siden.

  • Hvis du vil slette poster på en-siden af relationen og de relaterede poster på mange-siden, skal du aktivere et sæt regler, der kaldes referentiel integritet, og du aktiverer overlappende sletninger. Trinene i dette afsnit forklarer referentiel integritet, og hvordan du udfører begge opgaver.

  • Hvis du kun vil slette poster på en-siden af relationen, skal du først slette relationen og derefter slette dataene.

Hvis du kun vil fjerne data på mange-siden af relationen, kan du oprette og køre sletteforespørgslen uden at ændre relationen.

Hvis du vil finde ud af, hvilke poster der findes på relationens "en"- og "mange"-sider, skal du klikke på Relationer i gruppen Relationer under fanen Databaseværktøjer. Fanen Relationer viser tabellerne i databasen og relationerne. Hver relation er afbildet som en linje, der forbinder tabeller mellem felter.

I følgende figur vises en typisk relation. De fleste, hvis ikke alle, relationer i en database har en en-side og en "mange"-side. Relationsdiagrammet angiver en-siden med et tal (1) og "mange"-siden med symbolet foruendelighed (∞).

Relation mellem to tabeller

Når du sletter poster på en-siden af relationen, sletter du også alle de relaterede poster på mange-siden af relationen. Men når du sletter poster på mange-siden af en relation, sletter du typisk ikke poster på en-siden.

Desuden gennemtvinger Access automatisk et sæt regler, der kaldes referentiel integritet. Disse regler sikrer, at de fremmede nøgler i en database indeholder de korrekte værdier. En fremmed nøgle er en kolonne, hvis værdier svarer til værdierne i kolonnen med den primære nøgle i en anden tabel.

Rediger relationen

Følg kun disse trin, når du har brug for at slette data på "en"- og "mange"-siderne af en relation.

  1. Klik på Relationer i gruppen Relationer under fanen Databaseværktøjer.

  2. Højreklik på relationen (linjen), der forbinder de tabeller, der er involveret i sletningen, og klik derefter på Rediger relation i genvejsmenuen.

  3. Kontrollér, at afkrydsningsfeltet Gennemtving referentiel integritet er markeret i dialogboksen Rediger relationer.

  4. Markér afkrydsningsfeltet Kaskadevis sletning af relaterede poster.

    Bemærk!: Indtil du deaktiverer denne egenskab igen, vil sletning af en post på en-siden af relationen slette alle de relaterede poster på mange-siden af relationen.

  5. Klik på OK,luk ruden Relationer, og gå derefter videre til næste trin.

Slet en relation

  1. Hvis du ikke allerede har gjort det, skal du åbne ruden Relationer.

  2. Klik på Relationer i gruppen Relationer under fanen Databaseværktøjer.

    Noter de felter, der er involveret i relationen, så du kan gendanne relationen, når du har slettet dine data.

  3. Højreklik på relationen (linjen), der forbinder de tabeller, der er involveret i sletningen, og klik derefter på Slet i genvejsmenuen.

Bemærk!: Hvis du vil gendanne relationen, skal du følge de forrige trin for at åbne ruden Relationer og derefter trække det primære nøglefelt fra en-tabellen og slippe det i fremmed nøgle-feltet i mange-tabellen. Dialogboksen Rediger relation vises. Hvis den gamle relation gennemtvinger referentiel integritet, skal du vælge Gennemtving referentielintegritet og derefter klikke på Opret. Ellers skal du blot klikke på Opret.

Toppen af siden

Eksempelkriterier til udvælgelsesforespørgsler

I følgende tabel vises nogle eksempelkriterier, du kan bruge i udvælgelsesforespørgsler, når du vil sikre, at du kun sletter de data, du vil slette. Nogle af disse eksempler bruger jokertegn.

Kriterier

Effekt

> 234

Returnerer alle tal, der er større end 234. Hvis du vil finde alle tal, der er mindre end 234, skal du indtaste < 234.

>= "Cajhen"

Returnerer alle poster fra og med Cajhen til slutningen af alfabetet.

Between #2/2/2010# And #12/1/2010 #

Returnerer datoer fra 2. februar 2010 til 1. dec-2010 (ANSI-89). Hvis databasen bruger ANSI-92-jokertegn,skal du bruge enkelte anførselstegn (') i stedet for nummertegn (#). Eksempel: Between '02-02-2010' and '12/1/2010'.

Not "Tyskland"

Finder alle poster, hvor det nøjagtige indhold i feltet ikke er nøjagtigt lig med "Tyskland". Kriteriet returnerer poster, der indeholder tegn ud over "Tyskland", f.eks. "Tyskland (euro)" eller "Europa (Tyskland)".

Not "T*"

Finder alle de poster, der ikke begynder med T. Hvis databasen bruger ANSI-92-jokertegn, skal du indtaste procenttegn (%) i stedet for stjerne (*).

Not "*t"

Finder alle de poster, der ikke slutter på t. Hvis databasen bruger ANSI-92-jokertegn, skal du indtaste procenttegn (%) i stedet for stjerne (*).

In(Canada,USA)

Finder alle de poster på listen, der indeholder Canada eller USA.

Like "[A-D]*"

Finder alle de poster, der starter med bogstaverne A til og med D, i et tekstfelt. Hvis databasen bruger ANSI-92-jokertegn, skal du bruge procenttegn (%) i stedet for stjernen (*).

Like "*ar*"

Finder alle poster, der inkluderer bogstavkombinationen "ar". Hvis der bruges ANSI-92-jokertegn i databasen, skal du bruge procenttegn (%) i stedet for stjerne (*).

Like "Maison Dewe?"

Finder alle de poster, der begynder med "Maison" og har en anden streng på fem bogstaver, hvoraf de fire første er "Dewe", og det sidste er ukendt. Hvis databasen bruger ANSI-92-jokertegn, skal du indtaste understregningstegn (_) i stedet for spørgsmålstegn (?).

#2/2/2010 #

Finder alle poster for 2. februar 2010. Hvis databasen bruger ANSI-92-jokertegn, skal du sætte datoen i enkelte anførselstegn i stedet for nummertegn ('02-02-2010').

< Date() - 30

Bruger funktionen Date til at returnere alle datoer, der er mere end 30 dage gamle.

Date()

Bruger funktionen Date til at returnere alle poster, der indeholder dags dato.

Between Date() And DateAdd("M", 3, Date())

Anvender funktionerne Dato og DateAdd til at returnere alle poster mellem dags dato og tre måneder fra dags dato.

Is Null

Returnerer alle de poster, der indeholder en Null-værdi (tom eller ikke defineret).

Is Not Null

Returnerer alle de poster, der indeholder en hvilken som helst værdi (som ikke er null).

""

Returnerer alle de poster, der indeholder en streng af længden nul. Du kan bruge strenge af længden nul, når du har brug for at føje en værdi til et obligatorisk felt, men du endnu ikke ved, hvad den faktiske værdi er. Hvis et felt f.eks. I dette tilfælde skal du i stedet for at skrive et tal skrive et par dobbelte anførselstegn uden mellemrum mellem dem ("").

Toppen af siden

Tip til fejlfinding

Hvorfor får jeg vist denne fejlmeddelelse, og hvordan retter jeg den?

Hvis du opretter en sletteforespørgsel ved hjælp af flere tabeller, og egenskaben Entydige poster for forespørgslen er angivet til Nej,viser Access fejlmeddelelsen. Kunne ikke slette fra de angivne tabeller, når du kører forespørgslen.

Hvis du vil rette problemet, skal du angive egenskaben UnikkePoster for forespørgslen til Ja.

  1. Åbn sletteforespørgslen i designvisning.

  2. Hvis forespørgslens egenskabsark ikke er åbent, skal du trykke på F4 for at åbne det.

  3. Klik på Forespørgselsdesigner for at få vist forespørgselsegenskaberne (i stedet for feltegenskaberne).

  4. I egenskabsarket til forespørgslen skal du finde egenskaben EntydigePoster og angive den til Ja.

Forhindre, at deaktiveret tilstand blokerer en forespørgsel

Hvis du åbner en skrivebordsdatabase, du ikke har valgt at have tillid til, eller som ikke findes på en placering, du har tillid til, blokerer Access som standard alle handlingsforespørgsler fra at køre.

Hvis der ikke ser ud til at ske noget, når du kører en handlingsforespørgsel, skal du kontrollere, om følgende meddelelse vises på Access-statuslinjen:

Handlingen eller hændelsen blev blokeret af deaktiveret tilstand.

Når du ser denne meddelelse, skal du gøre følgende for at aktivere det blokerede indhold:

  • Klik på Aktivér indhold på meddelelseslinjen med en sikkerhedsadvarsel,og kør forespørgslen igen.

Toppen af siden

Har du brug for mere hjælp?

Udvid dine Office-færdigheder
Gå på opdagelse i kurser
Få nye funktioner først
Bliv Office Insider

Var disse oplysninger nyttige?

Tak for din feedback!

Tak for din feedback! Det lyder, som om det vil kunne hjælpe, hvis du bliver sat i forbindelse med en af vores Office-supportteknikere.

×