Om du antingen snabbt vill ta bort en mängd data eller ta bort en uppsättning data regelbundet 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 tidssparläge 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 (kolumnerna) 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 ta bort eller uppdatera frågor i Access-webbappar.
I den här artikeln
Välja en frågetyp
Du kan antingen 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 |
Så här tar du 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:N-relation kan du behöva ändra relationen innan du kör borttagningsfrågan. Se 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 |
Så här tar du bort enskilda fältvärden från en tabell. |
Gör det enklare att ta bort värden genom att uppdatera befintliga värden till antingen ett nullvärde (det vill säga inga data) eller en nollängdssträng (ett par dubbla citattecken utan blanksteg mellan dem). |
Saker att verifiera innan du använder en fråga för att ta bort data
-
Kontrollera att filen inte är en skrivskyddad fil:
-
Högerklicka på Start och klicka på Öppna Utforskaren.
-
Högerklicka på databasfilen och klicka på Egenskaper.
-
Kontrollera om attributet Skrivskydd är markerat.
-
-
Kontrollera att du har rätt behörighet för att ta bort poster från databasen. Om du är osäker kontaktar du systemadministratören eller databasdesignern.
-
Kontrollera att du har aktiverat innehållet i databasen. Som standard blockerar Access alla redigeringsfrågor (ta bort, uppdatera och skapa tabellfrågor) såvida du inte först litar på databasen. Mer information om hur du litar på en databas finns i avsnittet Stoppa inaktiverat läge från att blockera 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åsfel.
-
Innan du redigerar eller tar bort poster är det en bra idé att göra en säkerhetskopia av databasen om du vill å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.
Så här öppnar du en databas i exklusivt läge
-
Klicka på fliken Arkiv > Öppna.
-
Bläddra till och peka för att markera databasen, klicka på pilen bredvid knappen Öppna och klicka sedan på Öppna exklusivt.
Säkerhetskopiera databasen
-
Klicka på fliken Arkiv och peka på Spara som.
-
Klicka på Spara databas som och sedan på Säkerhetskopiera databas. Den ursprungliga filen stängs, säkerhetskopian skapas och sedan öppnas den ursprungliga filen igen.
-
Klicka på Spara som och ange ett namn och en plats för säkerhetskopian och klicka sedan på Spara.
Obs!: Om du använder en skrivskyddad databas eller en databas som skapats i den tidigare versionen av Access kan du få ett meddelande om att det inte går att skapa en säkerhetssäkerhetskopierad databas.
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
Om du vill skapa en borttagningsfråga klickar du på fliken Skapa i gruppen Frågor och klickar på Frågedesign. 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 bara 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 på 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 beställningar för en kund. Om du bara vill hitta posterna lägger du till fälten Kund-ID och Orderdatum i frågerutnätet och anger sedan kundens ID-nummer och det datum då kundens order blev ogiltiga.
-
Klicka på Visa > databladsvy på fliken Design.
-
Kontrollera att frågan returnerar de poster som du vill ta bort och tryck sedan på CTRL+S för att spara frågan.
-
Om du vill köra frågan dubbelklickar du på frågan i navigeringsfönstret.
Använda en uppdateringsfråga
Obs!: Du kan inte använda alternativet uppdatera frå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 om du kör en uppdateringsfråga för att ta bort data ändras de befintliga värdena till antingen NULL eller en nollängdssträng (ett par dubbla citattecken utan blanksteg däremellan), beroende på vilka villkor du anger.
-
Klicka på fliken Skapa och sedan på Frågedesign i gruppen Frågor.
-
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 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.
-
Dubbelklicka på asterisken (*) för att 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.
Alternativt kan du 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 Exempelvillkor för urvalsfrågor .
Obs!: Du använder villkor för att bara returnera de poster som du vill ändra. Annars anges uppdateringsfrågan till NULL för varje post i vart och ett av fälten i frågan.
-
Klicka på Visa i gruppen Resultat på fliken Design och sedan på Datablad.
-
Kontrollera att frågan returnerar de poster som du vill ange till NULL eller en nollängdssträng (ett par dubbla citattecken utan blanksteg mellan dem ("").
-
Upprepa steg 3 till 5 och ändra fälten eller villkoren tills frågan bara returnerar de data som du vill ta bort och tryck sedan på CTRL+S för att spara frågan.
-
Om du vill köra frågan dubbelklickar du på frågan i navigeringsfönstret.
Ytterligare information
Redigera relationen
Följ de här stegen endast när du behöver ta bort data på 1- och N-sidan av en relation.
-
På fliken Databasverktyg, i gruppen Relationer, klickar du på Relationer.
-
Högerklicka på relationen (linjen) som kopplar samman tabellerna som ingår i borttagningen och klicka sedan på Redigera relation på snabbmenyn.
-
Kontrollera att kryssrutan Referensintegritet är markerad i dialogrutan Redigera relationer.
-
Markera kryssrutan Ta bort poster i relaterade tabeller.
Obs!: Tills du inaktiverar den här egenskapen igen tas alla relaterade poster på N-sidan av relationen bort om du tar bort en post på 1-sidan av relationen.
-
Klicka på OK, stäng fönstret Relationer och gå sedan vidare till nästa uppsättning steg.
Ta bort en relation
-
Om du inte redan har gjort det öppnar du fönstret Relationer .
-
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.
-
Högerklicka på relationen (linjen) som kopplar samman tabellerna som ingår i borttagningen och klicka sedan på Ta bort på snabbmenyn.
Obs!: Om du vill återställa relationen följer du stegen ovan för att öppna fönstret Relationer och drar sedan primärnyckelfältet från 1-tabellen och släpper det i sekundärnyckelfältet i N-tabellen. Dialogrutan Redigera relation visas. Om den gamla relationen har referensintegritet väljer du Referensintegritet och klickar sedan på Skapa. Annars klickar du bara på Skapa.
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 se till 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 #2010-02-02# Och #2010-12-01# |
Returnerar datum mellan 2 februari 2010 och 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]*" |
I ett textfält hittar du alla poster 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 asterisken (*). |
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 den 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 ('2010-02-02'). |
< 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 DatumLäggTill 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 ett värde (som inte är null). |
"" |
Returnerar alla poster som innehåller en sträng med nollängd. Du använder nollängdssträngar när du behöver lägga till ett värde i ett obligatoriskt fält, men du vet ännu inte vad 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 dubbla citattecken utan blanksteg mellan dem ("""). |
Felsökningstips
Varför visas det här felmeddelandet och hur korrigerar jag felet?
Om du skapar en borttagningsfråga med hjälp av flera tabeller och frågans Unika poster-egenskap är inställd på Nej, visas felmeddelandet i Access. Det gick inte att ta bort 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.
-
Öppna borttagningsfrågan i designvyn.
-
Om frågans egenskapslista inte är öppen öppnar du den genom att trycka på F4.
-
Klicka på frågedesignern så att frågeegenskaperna visas (och inte fältegenskaperna).
-
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 alla redigeringsfrågor som standard.
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 du ser meddelandet ska du utföra följande steg för att aktivera blockerat innehåll:
-
Klicka på Aktivera innehåll i meddelandefältet för säkerhetsvarning och kör frågan igen.