Skapa och köra en borttagningsfråga

Skapa och köra en borttagningsfråga

När du antingen snabbt vill ta bort en stor mängd data eller regelbundet ta bort en uppsättning data i en Access-skrivbordsdatabas kan en borttagnings- eller uppdateringsfråga vara användbar eftersom frågorna gör det möjligt att ange villkor för att snabbt hitta och ta bort data. Att använda en fråga kan också vara en tidsfråga eftersom du kan återanvända en sparad fråga.

Obs!: Innan du tar bort data eller kör en borttagningsfråga bör du se till att du har en säkerhetskopia av din Access-databas för skrivbordet.

Om du bara vill ta bort några få poster behöver du inte en fråga. Öppna bara tabellen i databladsvyn, markera fälten (kolumner) eller posterna (raderna) som du vill ta bort och tryck sedan på DELETE.

Viktigt!: Informationen i den här artikeln är endast avsedd att användas med skrivbordsdatabaser. Du kan inte använda borttagnings- eller uppdateringsfrågor i Access-webbappar.

Innehåll

Välja en frågetyp

Du kan använda en uppdateringsfråga eller en borttagningsfråga för att ta bort data från databasen. Välj en fråga baserat på informationen i följande tabell:

Typ av fråga

När den ska användas

Resultat

Använda en borttagningsfråga

Om du vill ta bort hela poster (rader) från en tabell eller från två relaterade tabeller samtidigt.

Obs!: Om posterna finns på "1"-sidan av en 1:many-relation kan du behöva ändra relationen innan du kör borttagningsfrågan. Läs avsnittet om hur du tar bort data från relaterade tabeller.

Ta bort frågor tar bort alla data i varje fält, inklusive nyckelvärdet som gör en post unik

Använda en uppdateringsfråga

Ta bort enskilda fältvärden från en tabell.

Det blir enklare att ta bort värden genom att uppdatera de befintliga värdena till antingen ett nullvärde (det vill säga inga data) eller en sträng med längden noll (ett par dubbla citattecken utan blanksteg mellan dem).

Överst på sidan

Saker att verifiera innan du använder en fråga för att ta bort data

  • Kontrollera att filen inte är en skrivskyddade fil:

    1. Högerklicka på Start och klicka på Öppna Utforskaren i Windows.

    2. Högerklicka på databasfilen och klicka på Egenskaper.

    3. Se om attributet Skrivskydd är markerat.

  • Kontrollera att du har de behörigheter som krävs för att ta bort poster från databasen. Om du är osäker kontaktar du systemadministratör eller databasdesignern.

  • Kontrollera att du har aktiverat innehåll i databasen. Access blockerar som standard alla åtgärdsfrågor (borttagnings-, uppdaterings- och tabellfrågor) såvida du inte först litar på databasen. Information om hur du litar på en databas finns i avsnittet Förhindra att inaktiverat läge blockerar en fråga.

  • Be andra användare av databasen att stänga alla tabeller, formulär, frågor och rapporter som använder de data som du vill ta bort. På så sätt undviker du låsningsfel.

  • Innan du redigerar eller tar bort poster är det en bra idé att göra en säkerhetskopia av databasen om du skulle vilja ångra ändringarna.

Tips: Om ett stort antal användare ansluter till databasen kan du behöva stänga databasen och sedan öppna den i exklusivt läge.

Öppna en databas i exklusivt läge

  1. Klicka på fliken Arkiv > Öppna.

  2. Bläddra till och peka för att markera databasen, klicka på pilen bredvid knappen Öppna och klicka sedan på Öppna exklusivt.

    En fil öppnas i exklusivt läge

Backa upp databasen

  1. Klicka på fliken Arkiv, peka på Spara som.

  2. Klicka på Spara databas somoch sedan på Back Up Database. Den ursprungliga filen stängs, säkerhetskopian skapas och sedan öppnas den ursprungliga filen igen.

  3. Klicka på Spara som, ange namn och plats för säkerhetskopian och klicka på Spara.

Obs!: Om du använder en skrivskyddad databas eller en databas som skapades i den tidigare versionen av Access kan det hända att du får ett meddelande om att det inte går att skapa en back-up av databasen.

Om du vill återställa till en säkerhetskopia avslutar du och byter namn på originalfilen så att säkerhetskopian kan ha samma namn som originalversionen. Använd den ursprungliga versionens namn som namn på säkerhetskopian, och öppna säkerhetskopian i Access.

Använda en borttagningsfråga

Skapa en borttagningsfråga genom att klicka Frågedesign i gruppen Frågor på fliken Skapa. Dubbelklicka på varje tabell som du vill ta bort poster från och klicka sedan på Stäng.

Tabellen visas som ett fönster i den övre delen av frågerutnätet. Dubbelklicka på asterisken (*)i listan med fält om du vill lägga till alla fält i tabellen i designrutnätet.

Använda ett specifikt villkor i en borttagningsfråga

Viktigt!: Använd villkor för att endast returnera de poster som du vill ta bort. Annars tas alla poster i tabellen bort med borttagningsfrågan.

Dubbelklicka på det fält som du vill ange som villkor för borttagning, ange ett villkor i raden Villkor i frågedesignern och avmarkera sedan kryssrutan Visa för varje villkorsfält.

Ett exempel på när du kanske vill använda det här alternativet: Anta att du vill ta bort alla väntande order för en kund. Om du bara vill hitta dessa poster lägger du till fälten Kundnr och Orderdatum i frågerutnätet och anger sedan ID-numret för kunden och det datum då kundens order blev ogiltigt.

  1. På fliken Design klickar du på Visa > i databladsvyn.

  2. Kontrollera att frågan returnerar de poster som du vill ta bort och tryck sedan på CTRL+S för att spara frågan.

  3. Om du vill köra frågan dubbelklickar du på frågan i navigeringsfönstret.

Överst på sidan

Använda en uppdateringsfråga

Obs!: Du kan inte använda alternativet uppdateringsfråga i en Access-webbapp.

I det här avsnittet förklaras hur du använder en uppdateringsfråga för att ta bort enskilda fält från tabeller. Kom ihåg att när du kör en uppdateringsfråga för att ta bort data ändras de befintliga värdena till antingen NULL eller en sträng med längden noll (ett par dubbla citattecken utan blanksteg emellan), beroende på vilka villkor du anger.

  1. Klicka på fliken Skapa och sedan på Frågedesign i gruppen Frågor.

  2. Markera tabellen som innehåller de data du vill ta bort (om tabellen är relaterad markerar du tabellen på 1-sidan av relationen), klickar på Lägg till och klickar sedan på Stäng.

    Tabellen visas som ett fönster i den övre delen av frågerutnätet. I fönstret visas alla fält i den markerade tabellen.

  3. Dubbelklicka på asterisken (*) om du vill lägga till alla fält i tabellen i designrutnätet. Om du lägger till alla tabellfält kan borttagningsfrågan ta bort hela poster (rader) från tabellen.

    Du kan också ange villkor för ett eller flera fält på raden Villkor i designern och sedan avmarkera kryssrutan Visa för varje villkorsfält. Mer information om hur du använder villkor finns i exempelvillkorstabellen för urvalsfrågor.

    Obs!: Du använder villkor för att bara returnera de poster som du vill ändra. Annars ställs uppdateringsfrågan in på NULL till varje post i varje fält i frågan.

  4. Klicka på Visa i gruppen Resultat på fliken Design och sedan på Datablad.

  5. Kontrollera att frågan returnerar de poster som du vill ange till NULL eller en no zero-sträng (ett par dubbla citattecken utan blanksteg mellan dem ("").

  6. Om det behövs upprepar du steg 3 till 5 och ändrar fälten eller villkoren tills frågan endast returnerar de data som du vill ta bort och trycker sedan på CTRL+S för att spara frågan.

  7. Om du vill köra frågan dubbelklickar du på frågan i navigeringsfönstret.

Överst på sidan

Ytterligare information

Ta bort data från relaterade tabeller

Om du vill ta bort data från flera relaterade tabeller måste du aktivera alternativen Referensintegritet och Ta bort poster i relaterade tabeller för varje relation. Då kan frågan ta bort data från tabellerna på 1-sidan och "många"-sidan i relationen. För att du ska kunna ta bort relaterade data måste du verifiera följande:

  • Avgör vilka poster som finns på 1-sidan av relationen och vilka som finns på "många"-sidan.

  • Om du behöver ta bort poster på 1-sidan av relationen och relaterade poster på "många"-sidan kan du aktivera en uppsättning regler som kallas Referensintegritet och aktivera sammanhängande borttagningar. I stegen i det här avsnittet förklaras referensintegritet och hur du utför båda uppgifterna.

  • Om du bara behöver ta bort poster på 1-sidan av relationen tar du först bort relationen och tar sedan bort data.

Om du bara behöver ta bort data på "många"-sidan av relationen kan du skapa och köra borttagningsfrågan utan att behöva ändra relationen.

Om du vill ta reda på vilka poster som finns på 1- och "många"-sidorna av en relation klickar du på Relationer i gruppen Relationer på fliken Databasverktyg.fliken Relationer visas tabellerna i databasen och relationerna. Varje relation visas som en linje som kopplar ihop tabeller mellan fält.

I bilden nedan visas en typisk relation. De flesta, om inte alla, relationer i en databas har en "1"-sida och en "många"-sida. Relationsdiagrammet betecknar "1"-sidan med siffran ett(1)och N-sidan med oändlighetssymbolen(∞).

En relation mellan två tabeller

När du tar bort poster på 1-sidan av relationen tar du också bort alla relaterade poster på "många"-sidan av relationen. Men när du tar bort poster på "många"-sidan av en relation tar du vanligtvis inte bort poster på 1-sidan.

En uppsättning regler som kallas referensintegritet används också automatiskt i Access. Dessa regler säkerställer att externa nycklar i en databas innehåller rätt värden. En foreign key är en kolumn vars värden matchar värdena i primärnyckelkolumnen i en annan tabell.

Redigera relationen

Följ bara de här anvisningarna när du behöver ta bort data på 1- och 1-sidorna av en relation.

  1. På fliken Databasverktyg, i gruppen Relationer, klickar du på Relationer.

  2. Högerklicka på relationen (linjen) som förbinder tabellerna som berörs av borttagningen och klicka sedan på Redigera relation på snabbmenyn.

  3. Kontrollera att kryssrutan Referensintegritet är markerad i dialogrutan Redigera relationer.

  4. Markera kryssrutan Ta bort poster i relaterade sammanhängande poster.

    Obs!: Tills du inaktiverar den här egenskapen igen kommer alla relaterade poster på "många"-sidan av relationen att tas bort om du tar bort en post på 1-sidan av relationen.

  5. Klicka på OK,stäng fönstret Relationer och gå sedan vidare till nästa uppsättning steg.

Ta bort en relation

  1. Om du inte redan har gjort det öppnar du fönstret Relationer.

  2. På fliken Databasverktyg, i gruppen Relationer, klickar du på Relationer.

    Notera fälten som ingår i relationen så att du kan återställa relationen efter att du har tagit bort dina data.

  3. Högerklicka på relationen (linjen) som förbinder tabellerna som berörs av borttagningen och klicka sedan på Ta bort på snabbmenyn.

Obs!: Om du vill återställa relationen följer du föregående steg för att öppna fönstret Relationer och drar sedan primärnyckelfältet från 1-tabellen och släpper det i flernyckelfältet i tabellen "många". Dialogrutan Redigera relation visas. Om den gamla relationen tillämpad referensintegritet väljer du Referensintegritetoch klickar sedan på Skapa. Annars klickar du bara på Skapa.

Överst på sidan

Exempelvillkor för urvalsfrågor

I följande tabell visas några exempelvillkor som du kan använda i urvalsfrågor när du vill vara säker på att du bara tar bort de data som du vill ta bort. I vissa av de här exemplen används jokertecken.

Villkor

Effekt

> 234

Returnerar alla tal som är större än 234. Om du vill hitta alla tal som är mindre än 234 använder du < 234.

>= "Cajhen"

Returnerar alla poster från Cajhen till och med slutet på alfabetet.

Mellan #2/2/2010# Och #12/1/2010 #

Returnerar datum från 2 februari 2010 till och med 1 december 2010 (ANSI-89). Om databasen använder jokertecken från ANSI-92 ska du använda enkla citattecken (') i stället för nummertecken (#). Exempel: Mellan '2010-02-02' och '2010-12-01'.

Not "Tyskland"

Hittar alla poster där det exakta innehållet i fältet inte är exakt detsamma som "Tyskland". Villkoret returnerar poster som innehåller tecken förutom "Tyskland", till exempel "Tyskland (euro)" eller "Europa (Tyskland)".

Not "T*"

Hittar alla poster som inte börjar med bokstaven T. Om databasen använder teckenuppsättningen ANSI-92 för jokertecken, ska du använda procenttecken (%) i stället för asterisk (*).

Not "*t"

Hittar alla poster som inte slutar med bokstaven t. Om databasen använder teckenuppsättningen ANSI-92 för jokertecken, ska du använda procenttecken (%) i stället för asterisk (*).

In(Kanada,Storbritannien)

Hittar alla poster i en lista som innehåller Kanada eller Storbritannien.

Som "[A-D]*"

Hittar alla poster i ett textfält som börjar med bokstäverna A till och med D. Om databasen använder teckenuppsättningen ANSI-92 för jokertecken, ska du använda procenttecken (%) i stället för asterisk (*).

Som "*ar*"

Hittar alla poster som innehåller teckensekvensen "ar". Om databasen använder teckenuppsättningen ANSI-92 för jokertecken, ska du använda procenttecken (%) i stället för asterisk (*).

Som "Hotel Star???"

Hittar alla poster som börjar med "Hotel" och innehåller en andra sträng på fem bokstäver där de första fyra bokstäverna är "Star" och den sista bokstaven är okänd. Om databasen använder teckenuppsättningen ANSI-92 för jokertecken, ska du använda understreck (_) i stället för frågetecken (?).

#2/2/2010 #

Hittar alla poster för 2 februari 2010. Om databasen använder teckenuppsättningen ANSI-92 för jokertecken ska du omsluta datumet med enkla citattecken i stället för nummertecken ('02.02.10').

< Datum( ) - 30

Använder funktionen Datum för att returnera alla datum som är äldre än 30 dagar.

Datum()

Använder funktionen Datum för att returnera alla poster som innehåller dagens datum.

Mellan Datum( ) Och DatumLäggTill("M", 3, Datum( ))

Använder funktionerna Datum och DatumAdd för att returnera alla poster mellan dagens datum och tre månader från dagens datum.

Är Null

Returnerar alla poster som innehåller ett null-värde (tomma eller odefinierade).

Är Icke Null

Returnerar alla poster som innehåller något värde (som inte är null).

""

Returnerar alla poster som innehåller en sträng med nollängd. Du använder strängar med längden noll när du behöver lägga till ett värde i ett obligatoriskt fält, men inte vet vilket det faktiska värdet är. Ett fält kanske ska innehålla ett faxnummer, men vissa av kunderna kanske inte har faxar. I så fall kan du i stället för att ange ett tal ange ett par med dubbla citattecken utan blanksteg mellan dem ("").

Överst på sidan

Felsökningstips

Varför visas det här felmeddelandet och hur korrigerar jag felet?

Om du skapar en borttagningsfråga genom att använda flera tabeller och frågans unika poster-egenskap har angetts till Nej,visas felmeddelandet i Access. Det gick inte att ta bort data från de angivna tabellerna när du kör frågan.

Du korrigerar det här problemet genom att ange frågans Unika poster-egenskap till Ja.

  1. Öppna borttagningsfrågan i designvyn.

  2. Om frågans egenskapslista inte är öppen öppnar du den genom att trycka på F4.

  3. Klicka på frågedesignern så att frågeegenskaperna visas (och inte fältegenskaperna).

  4. Leta reda på egenskapen Unika poster i frågans egenskapslista och ange den till Ja.

Ange att en fråga inte ska spärras i inaktivt läge

Om du öppnar en skrivbordsdatabas som du inte har valt att lita på eller som inte finns på en betrodd plats blockeras som standard alla åtgärdsfrågor från att köras.

Om du försöker att köra en redigeringsfråga men inget verka hända, kontrollerar du om följande meddelande visas i statusfältet:

Den här åtgärden eller händelsen spärras i inaktivt läge.

När meddelandet visas aktiverar du det blockerade innehållet på följande sätt:

  • Klicka på Aktivera innehåll i meddelandefältet försäkerhetsvarning och kör frågan igen.

Överst på sidan

Behöver du mer hjälp?

Utöka dina Office-kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Office Insiders

Hade du nytta av den här informationen?

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×