När du antingen snabbt vill ta bort stora mängder data eller ta bort en datauppsättning 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. Det kan också spara tid att använda en frå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 databladsvy, välj fälten (kolumner) eller posterna (rader) som du vill ta bort och tryck sedan på DELETE.
Viktigt!
Informationen i den här artikeln gäller endast skrivbordsdatabaser. Du kan inte använda borttagnings- eller uppdateringsfrågor i Access-webbappar.
Artikelinnehåll
- Välja en frågetyp
- Använda en borttagningsfråga
- Använda en uppdateringsfråga
- Ytterligare information
- Felsökningstips
Välja en frågetyp
Du kan använda antingen en uppdateringsfråga eller en borttagningsfråga när du vill 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. Notera: Om posterna finns på "1"-sidan av en en-till-många-relation kan du behöva ändra relationen innan du kör borttagningsfrågan. Mer information finns i avsnittet Ta bort data från relaterade tabeller. |
Med borttagningsfrågor tas alla data i varje fält bort, inklusive nyckelvärdet som gör en post unik |
| Använda en uppdateringsfråga | Ta bort enskilda fältvärden från en tabell. | Gör det enklare att ta bort värden genom att uppdatera de befintliga värdena till antingen ett nullvärde (dvs. inga data) eller en nollängdssträng (ett par dubbla citattecken utan blanksteg mellan dem). |
Saker att kontrollera innan du använder en fråga för att ta bort data
Kontrollera att filen inte är skrivskyddad:
- Högerklicka på Start och klicka på Öppna Utforskaren.
- Högerklicka på databasfilen och klicka på Egenskaper.
- Se om attributet Skrivskyddad är markerat.
Kontrollera att du har de behörigheter som behövs för att ta bort poster från databasen. Om du inte är säker kan du kontakta systemadministratören eller databasdesignern.
Kontrollera att du har aktiverat innehåll i databasen. Som standard blockeras alla redigeringsfrågor (borttagnings-, uppdaterings- och tabellfrågor) i Access såvida du inte först anger databasen som betrodd. Mer information om att ange en databas som betrodd finns i avsnittet Hindra 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åsningsöverträdelser.
Innan du redigerar eller tar bort poster är det bra 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 öppna den igen i exklusivt läge.
Öppna en databas i exklusivt läge
- Klicka på fliken Arkiv, Öppna>.
- Bläddra till och peka för att välja 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 på Spara.
Obs
Om du använder en skrivskyddad databas eller en databas som skapades i den tidigare versionen av Access kan det visas ett meddelande om att det inte går att skapa en säkerhetskopia 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
Om du vill skapa en borttagningsfråga klickar du på fliken Skapa och sedan på Frågedesign i gruppen Frågor. 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 rutnätet för frågedesign. Dubbelklicka på asterisken () i listan med fält för* att lägga till alla fält i tabellen till 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 kommer alla poster i tabellen att tas bort när du tar bort frå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 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. För att hitta just dessa poster lägger du till fälten Kundnr och Orderdatum i frågerutnätet och anger sedan kundens ID-nummer och det datum då kundens order blev ogiltiga.
- Klicka på> Visadatabladsvy 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 i 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 emellan), 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å "en"-sidan av relationen), klickar på Lägg till och sedan på Stäng.
Tabellen visas som ett fönster i den övre delen av rutnätet för frågedesign. I fönstret visas alla fält i den markerade tabellen.Dubbelklicka på asterisken (*) om du vill lägga till alla fälten i tabellen i designrutnätet. Genom att lägga 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 tabellen Exempelvillkor för urvalsfrågor .Obs
Du använder villkor för att returnera endast de poster som du vill ändra. Annars anges alla poster i query-fältet till NULL.
Klicka på Visa i gruppen Resultat på fliken Design och sedan på Datablad.
Kontrollera att frågan returnerar posterna som du vill ange till NULL eller en nollängdssträng (ett par med dubbla citattecken utan blanksteg mellan sig ("").
Upprepa steg 3 till 5 och ändra fälten eller villkoren tills frågan returnerar endast 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
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. På så sätt kan frågan ta bort data från tabellerna på 1- och N-sidan av relationen. När du förbereder dig för att ta bort relaterade data måste följande kontrolleras:
- Avgör vilka poster som finns på 1-sidan av relationen och vilka som finns på N-sidan.
- Om du behöver ta bort poster på 1-sidan av relationen och relaterade poster på N-sidan aktiverar du en uppsättning regler som kallas Referensintegritet och aktiverar sammanhängande borttagningar. I det här avsnittet förklaras referensintegritet och hur du utför båda funktionerna.
- Om du bara behöver ta bort poster på "en"-sidan av relationen måste du först ta bort relationen och sedan ta bort data.
Om du bara behöver ta bort data på "N"-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å "en"- och "många"-sidan av en relation klickar du på Relationer i gruppen Relationer på fliken Databasverktyg. På fliken Relationer visas tabellerna och relationerna i databasen. Varje relation visas som en linje som förbinder tabeller mellan fält.
Följande bild visar en typisk relation. De flesta, om inte alla, relationer i en databas har en 1-sida och en N-sida. I relationsdiagrammet beskrivs "en"-sidan med siffran ett (1) och "många"-sidan med oändlighetssymbolen (∞).
När du tar bort poster på 1-sidan av relationen tas även alla relaterade poster bort på N-sidan av relationen. Men när du tar bort poster på ett-sidan av en relation tar du vanligtvis inte bort poster på 1-sidan.
Dessutom används automatiskt en uppsättning regler som kallas referensintegritet. Dessa regler säkerställer att sekundärnycklarna i en databas innehåller rätt värden. En sekundär nyckel ä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 N-sidan av en relation.
På fliken Databasverktyg, i gruppen Relationer, klickar du på Relationer.
Högerklicka på relationen (linjen) som förbinder tabellerna som berörs av 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
Om du tar bort en post på 1-sidan av relationen tills du inaktiverar den här egenskapen igen tas alla relaterade poster på N-sidan av relationen bort.
Klicka på OK, stäng fönstret Relationer och gå sedan vidare till nästa uppsättning instruktioner.
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.
Anteckna fälten som ingår i relationen så att du kan återställa relationen när du har tagit bort informationen. - Högerklicka på relationen (linjen) mellan tabellerna som ingår i 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 . Dra sedan primärnyckelfältet från tabellen "ett" och släpp det i sekundärnyckelfältet i "många"-tabellen. Dialogrutan Redigera relation visas. Om den gamla relationen använde referensintegritet väljer du Referensintegritet och klickar sedan på Skapa. Annars klickar du bara på Skapa.
Exempelvillkor för urvalsfrågor
I tabellen nedan visas några exempelvillkor som du kan använda i urvalsfrågor när du vill se till att du tar bort endast de data som du vill ta bort. I vissa av dessa exempel 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 #02.02.10# Och #01.12.10# | 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 '02.02.10' Och '01.12.10'. |
| 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 (*). |
| Inte "*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 t.o.m. 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 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 ('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 DatumLäggTill för att returnera alla poster mellan dagens datum och tre månader framåt. |
| Ä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 strängar med nollängd när du behöver lägga till ett värde i ett obligatoriskt fält, men inte vet 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 anger du ett par med dubbla citattecken utan blanksteg mellan (") i stället för ett tal. |
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 egenskap Unika poster anges till Nej, visas felmeddelandet. Det gick inte att ta bort data från angivna tabeller 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 som standard alla redigeringsfrå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 du ser det meddelandet gör du följande för att aktivera det blockerade innehållet:
- Klicka på Aktivera innehåll i säkerhetsvarningsmeddelandefältet och kör frågan igen.