Introduktion till frågor

Med hjälp av en fråga blir det enklare att visa, lägga till, ta bort eller ändra data i Access-databasen. Du kan också använda frågor för att:

  • Snabbt söka efter data genom att filtrera baserat på specifika villkor
  • Beräkna eller sammanfatta data
  • Automatisera datahanteringsuppgifter som att regelbundet granska aktuella data.

Du får en mer robust uppsättning av frågealternativ när du arbetar med en Access-skrivbordsdatabas, men Access-appar erbjuder några av frågealternativen som visas nedan. Mer information om Access-appar, den nya sortens databas som du designar med Access och publicerar online, hittar du i Skapa en Access-app.

 Anteckning    Om du vill prova frågorna i exemplen använder du en Access-skrivbordsdatabas.



Med frågor kan du enklare söka och arbeta med data

I en välstrukturerad databas finns de data som du vill visa i ett formulär eller en rapport ofta i flera olika tabeller. En fråga kan användas till att hämta och kombinera information från flera tabeller och sedan visa informationen i ett formulär eller en rapport. En fråga kan antingen begära ett dataresultat från databasen eller begära att en åtgärd utförs på dessa data, eller båda. En fråga kan ge svar på en enkel fråga, utföra beräkningar, kombinera data från olika tabeller, lägga till, ändra eller ta bort data från en databas. Eftersom frågor är så flexibla finns det många typer av frågor och du skapar en typ av fråga beroende på typen av uppgift.

Huvudsakliga typer av frågor Använd
Urvalsfrågor Om du vill hämta data från en tabell eller göra beräkningar.
Åtgärd Om du vill lägga till, ändra eller ta bort data. Varje uppgift har en särskild typ av redigeringsfråga. Redigeringsfrågor är inte tillgängliga i Access-appar.

Överst på sidan Överst på sidan

Skapa en urvalsfråga

Om du vill granska data från särskilda fält i en tabell, granska data från flera tabeller samtidigt eller kanske bara visa data baserat på vissa villkor använder du en urvalsfråga. Mer information hittar du i Skapa en urvalsfråga.

Granska data från särskilda fält

Om databasen exempelvis innehåller en tabell med mycket information om produkter och du vill visa en lista med produkter och produkternas priser följer du stegen nedan för att skapa en urvalsfråga som bara returnerar produktnamnen och respektive pris.

  1. Öppna databasen och klicka på Frågedesign på fliken Skapa.
  2. Dubbelklicka på tabellen Produkter på fliken Tabeller i rutan Visa tabell och stäng dialogrutan.
  3. Anta att tabellen Produkter innehåller fälten Produktnamn och Listpris. Dubbelklicka på Produktnamn och Listpris så att fälten läggs till i frågerutnätet (designrutnät: Det rutnät som du använder när du skapar en fråga eller ett filter vid frågedesign eller i fönstret Avancerat filter/sortering. Detta rutnät kallades tidigare för frågerutnät för frågor.).
  4. På fliken Design klickar du på Kör. Frågan körs och en lista visas med produkter och deras priser.

Överst på sidan Överst på sidan

Granska data från flera relaterade tabeller samtidigt

Anta att du har en databas för en butik som säljer matprodukter och att du vill granska order för kunder som bor i en viss stad. Anta vidare att informationen om dessa order och om kunderna lagras i två tabeller, Kunder och Order. I båda tabellerna finns fältet Kund-ID, som utgör grunden för en 1:N-relation (1:N-relation: En association mellan två tabeller där primärnyckelvärdet i varje post i primärtabellen motsvarar värdet i det eller de matchande fälten i många poster i den relaterade tabellen.) mellan de två tabellerna. Så här skapar du en fråga som returnerar order för kunder i en viss stad, till exempel Las Vegas:

  1. Öppna databasen. På fliken Skapa i gruppen Fråga klickar du på Frågedesign.
  2. Dubbelklicka på Kunder och Order på fliken Tabeller i dialogrutan Visa tabell.
  3. Stäng dialogrutan Visa tabell. Observera linjen, den så kallade kopplingen, som ansluter ID-fältet i tabellen Kunder och fältet Kund-ID i tabellen Order. Linjen anger relationen mellan de två tabellerna.
  4. Dubbelklicka på Företag och Ort i tabellen Kunder så att dessa fält läggs till i frågerutnätet.
  5. Avmarkera kryssrutan på raden Visa i kolumnen Ort som finns i frågerutnätet.
  6. Skriv Las Vegas i raden Villkor för kolumnen Ort.

Om du avmarkerar kryssrutan Visa visas inte orten i resultatet. Om du skriver Las Vegas på raden Villkor visas bara poster där värdet i fältet Ort är Las Vegas, och i vårt fall returnerar frågan bara de kunder som bor i Las Vegas. Om du skriver Las Vegas på raden Villkor visas bara poster där värdet i fältet Ort är Las Vegas, och i vårt fall returnerar frågan bara de kunder som bor i Las Vegas. Du behöver inte visa ett fält för att kunna använda det med ett villkor.

  1. Dubbelklicka på Order-ID och Orderdatum i tabellen Order så att dessa fält läggs till i de nästa två kolumnerna i frågerutnätet.
  2. Klicka på Kör i gruppen Resultat på fliken Design. Frågan körs och en lista visas med order för kunder i Las Vegas.
  3. Spara frågan genom att trycka på CTRL+S.

Överst på sidan Överst på sidan

Skapa en parameterfråga

Om du ofta vill köra varianter av en viss fråga bör du använda en parameterfråga. När du kör en parameterfråga uppmanas du att ange fältvärden, som sedan används för att skapa frågans villkor.

 Anteckning    Du kan inte skapa en parameterfråga i en Access-app.

Om vi fortsätter med föregående exempel, där vi skapade en urvalsfråga som returnerar order för kunder som bor i Las Vegas, kan du ändra urvalsfrågan så att du uppmanas att ange staden varje gång du kör frågan. Börja med att öppna databasen som du skapade i det föregående exemplet:

  1. Högerklicka i navigeringsfönstret på frågan som heter Order per ort (som du skapade i avsnittet ovan) och klicka på Designvy på snabbmenyn.
  2. Ta bort Las Vegas på raden Villkor i kolumnen Ort i frågerutnätet och skriv sedan [På vilken ort?].

Strängen [På vilken ort?] är uppmaningsparametern. Hakparentesen anger att frågan ska innehålla en uppmaning om att ange en parameter, och texten (i det här fallet På vilken ort?) är den fråga som visas.

 Anteckning   Det går varken att använda punkt (.) eller utropstecken (!) som text i en parameteruppmaning.

  1. Markera kryssrutan i raden Visa i kolumnen Ort, så att frågeresultatet innehåller orten.
  2. Klicka på Kör i gruppen Resultat på fliken Design. Du uppmanas att ange ett värde för Ort.
  3. Skriv New York och tryck på RETUR om du vill visa order för kunder i New York.

Vad gör du om du inte vet vilka värden du kan ange? Du kan använda jokertecken i uppmaningen:

  1. Klicka på Visa i gruppen Vyer på fliken Start och klicka sedan på Designvy.
  2. Skriv Som [På vilken ort?]&"*" på raden Villkor i kolumnen Ort i frågerutnätet.

I den här parameteruppmaningen gör nyckelordet Som, tecknet ampersand (&) och asterisken (*) som omges med citattecken att användaren kan skriva en kombination av tecken, bland annat jokertecken, för att returnera olika resultat. Om användaren till exempel skriver * returneras alla orter, om användaren skriver L returneras alla orter som inleds med bokstaven "L", och om användaren skriver *s* returnerar frågan alla orter som innehåller bokstaven "s".

  1. Gå till gruppen Resultat på fliken Design, klicka på Kör, skriv New i uppmaningen och tryck på RETUR.

Frågan körs och sedan visas order för kunder i New York.

Ange parameterns datatyper

Du kan också ange vilken typ av data som en parameter ska acceptera. Du kan ange datatypen för alla parametrar, men det är särskilt viktigt att ange datatypen för tal, valuta och datum/tid. När du anger datatypen som en parameter ska acceptera, visas ett felmeddelande för användaren om han eller hon anger fel typ av data, till exempel skriver text i stället för valuta.

 Anteckning   Om en parameter anges till att acceptera textdata, tolkas alla inmatningar som text och inget felmeddelande visas.

Så här anger du datatypen för parametrar i en fråga:

  1. Klicka på Parametrar i gruppen Visa/dölj på fliken Design när frågan är öppen i designvyn.
  2. I kolumnen Parameter i dialogrutan Frågeparametrar skriver du uppmaningen för respektive parameter som du vill ange datatypen för. Se till att varje parameter matchar uppmaningen som du använder i raden Villkor i frågerutnätet.
  3. Välj datatyp för respektive parameter i kolumnen Datatyp.

Mer information om hur du använder parametrar för att fråga efter indata när du kör en fråga.

Skapa en summafråga

Summaraden i ett datablad är mycket användbar, men för mer komplicerade frågor bör du använda en summafråga. En summafråga är en urvalsfråga som kan användas för att gruppera och sammanfatta data. Anta till exempel att du vill visa den totala försäljningen per produkt. I en summafråga kan du visa den totala försäljningen per produkt med hjälp av funktionen Summa (en mängdfunktion).

 Anteckning    Du kan inte använda mängdfunktioner i en Access-app.

Följ stegen nedan om du vill ändra frågan för produktsummor som du skapade i det föregående exemplet så att den sammanfattar produktsummor efter produkt.

  1. På fliken Start klickar du på Visa > Designvy.

Frågan Delsummor för produkt öppnas i designvyn.

  1. Klicka på Summor i gruppen Visa/dölj på fliken Design.

Raden Summor visas i frågerutnätet.

 Anteckning    Trots att de har liknande namn är raden Summor i rutnätet och raden Summa i ett datablad inte samma sak:

  • Du kan gruppera efter fältvärden med hjälp av raden Summor i rutnätet.
  • Du kan lägga till databladsraden Summa i resultatet av en summafråga.
  • När du använder raden Summor i rutnätet måste du välja en mängdfunktion för varje fält. Om du inte vill utföra en beräkning på ett fält, kan du gruppera efter det fältet.
  1. Välj Summa i listrutan i summaraden i den andra kolumnen i frågerutnätet.
  2. Klicka på Kör i gruppen Resultat på fliken Design. Frågan körs och en lista visas med delsummor.
  3. Spara frågan genom att trycka på CTRL+S. Låt frågan vara öppen.

Mer information hittar du i summera värden på ett datablad med summarader.

Överst på sidan Överst på sidan

Göra beräkningar utifrån data

Vanligtvis använder du inte tabeller för att lagra beräknade värden, t.ex. delsummor, även om de baseras på data i samma tabell eftersom beräknade värden kan bli inaktuella om värdena som de baseras på ändras. Du bör till exempel inte lagra någons ålder i en tabell eftersom du skulle behöva uppdatera värdet varje år. I stället lagrar du personens födelsedatum och använder en fråga för att beräkna personens ålder.

Anta att du har en databas för några produkter som du vill sälja. Databasen har en tabell med namnet Orderdetaljer som innehåller information om produkterna i fälten, t.ex. produktpris och antal. Du kan beräkna delsumman genom att använda en fråga som multiplicerar antalet av varje produkt med enhetspriset för den produkten, multiplicerar antalet av varje produkt med enhetspriset och rabatten för den produkten, och subtraherar den totala rabatten från det totala priset per enhet. Om du skapade exempeldatabasen i det föregående exemplet öppnar du den och följer stegen nedan.

  1. Klicka på Frågedesign på fliken Skapa.
  2. Dubbelklicka på Orderdetaljer på fliken Tabeller i dialogrutan Visa tabell.
  3. Stäng dialogrutan Visa tabell.
  4. Dubbelklicka på Produkt-ID i tabellen Orderdetaljer så att fältet läggs till i den första kolumnen i frågerutnätet.
  5. Högerklicka på raden Fält i den andra kolumnen på raden i rutnätet och klicka på Zooma på snabbmenyn.
  6. Skriv eller klistra in följande i rutan Zooma: Delsumma: ([Antal]*[Pris per enhet])-([Antal]*[Pris per enhet]*[Rabatt])
  7. Klicka på OK.
  8. På fliken Design klickar du på Kör. Frågan körs och sedan visas en lista med produkter och delsummor per order.
  9. Spara frågan genom att trycka på CTRL+S och ge sedan frågan namnet Delsummor för produkt.

Mer information hittar du också i summera värden på ett datablad med summarader.

Överst på sidan Överst på sidan

Visa sammanfattade eller sammanlagda data

När du använder tabeller för att registrera transaktioner eller lagra regelbundet återkommande numeriska data är det bra att kunna granska dessa data tillsammans, till exempel som summor eller medelvärden. I Access kan du lägga till en summarad i ett datablad (datablad. Data från en tabell, ett formulär, en fråga, ett fönster eller en lagrad procedur som visas i rader och kolumner.). Summaraden är en rad längst ned i databladet som kan visa en löpande summering eller andra sammanlagda värden.

  1. Kör frågan Delsummor för produkt och lämna resultatet öppet i databladet (Datablad: En vy som används för att visa data från en tabell, ett formulär, en fråga, en vy eller en lagrad procedur i rader och kolumner. I vyn Datablad kan du redigera fält, lägga till och ta bort data samt göra sökningar.).
  2. Klicka på Summor på fliken Start. En ny rad visas längst ned i databladet med ordet Summa i den första kolumnen.
  3. Klicka i cellen i den sista raden i databladet som heter Summa.
  4. Klicka på pilen för att visa de tillgängliga mängdfunktionerna. Eftersom kolumnen innehåller textdata finns det bara två alternativ: Inget och Antal.
  5. Välj Antal. Innehållet i cellen ändras från Summa till antalet kolumnvärden.
  6. Klicka på den intilliggande cellen (den andra kolumnen). Lägg märke till att en pil visas i cellen.
  7. Klicka på pilen och sedan på Summa. Fältet visar en summa av kolumnvärdena.
  8. Låt frågan vara öppen i databladet.

Överst på sidan Överst på sidan

Skapa en korsfråga

Anta att du vill granska produkternas delsummor, men även aggregera efter månad så att varje rad visar delsummor för en produkt, och varje kolumn visar produktdelsummor för en månad. Om du vill visa delsummor för en produkt och visa produktdelsummor för en månad ska du använda en korsfråga (korsfråga: En fråga som beräknar summa, medel, antal eller andra typer av postsummeringar och sedan grupperar resultatet efter två typer av information, en på databladets vänstra sida och en överst i databladet.).

 Anteckning   Det går inte att visa en korsfråga i en Access-app.

Du kan ändra frågan Delsummor för produkt igen så att den frågan returnerar rader med produktdelsummor och kolumner med månadsvisa delsummor.

  1. Klicka på Visa i gruppen Vyer på fliken Start och klicka sedan på Designvy.
  2. Klicka på Visa tabell i gruppen Skapa fråga.
  3. Dubbelklicka på Order i dialogrutan Visa tabell och klicka på Stäng.
  4. Klicka på Korstabell i gruppen Frågetyp på fliken Design. Raden Visa är dold och raden Korstabell visas i frågerutnätet.
  1. Högerklicka på raden Fält i frågerutnätets tredje rad och klicka sedan på Zooma på snabbmenyn. Rutan Zooma öppnas.
  2. Skriv eller klistra in följande i rutan Zooma: Månad: "Månad" & Datumdel("m", [Orderdatum])
  3. Klicka på OK.
  4. Välj följande värden i listrutan på raden Korstabell: Radrubrik för den första kolumnen, Värde för den andra kolumnen och Kolumnrubrik för den tredje kolumnen.
  5. Klicka på Kör i gruppen Resultat på fliken Design. Frågan körs och produktsummorna visas, sammanlagda efter månad.
  6. Spara frågan genom att trycka på CTRL+S.

Mer information finns i

Skapa en tabellfråga

Med en tabellfråga kan du skapa en ny tabell utifrån data som lagras i andra tabeller.

 Anteckning    Tabellfrågor är inte tillgängliga i Access-appar.

Anta att du vill skicka data för Chicago-order till en affärspartner i Chicago som använder Access för att förbereda rapporter. I stället för att skicka alla orderdata vill du begränsa informationen som du skickar till information som gäller enbart Chicago-order.

Du kan skapa en fråga som innehåller data med Chicago-order och sedan använda en urvalsfråga för att skapa den nya tabellen, så här:

  1. Öppna exempeldatabasen från föregående exempel.

Du kan behöva aktivera databasinnehållet för att kunna köra en tabellfråga.

 Anteckning   Om ett meddelande om att aktivera databasen visas under menyfliksområdet klickar du på Aktivera innehåll. Om databasen redan finns på en betrodd plats visas inte meddelandefältet.

  1. På fliken Skapa i gruppen Fråga klickar du på Frågedesign.
  2. Dubbelklicka på Orderdetaljer och Order i dialogrutan Visa tabell och stäng dialogrutan Visa tabell.
  3. Dubbelklicka på Kund-ID och Leveransort i tabellen Order så att dessa fält läggs till i rutnätet.
  4. Dubbelklicka på Order-ID, Produkt-ID, Antal, Enhetspris och Rabatt i tabellen Orderdetaljer så att dessa fält läggs till i rutnätet.
  5. Avmarkera rutan Visa i kolumnen Leveransort i rutnätet. Skriv 'Chicago' (med enkla citattecken) på raden Villkor. Kontrollera frågeresultatet innan du använder det för att skapa frågan.
  6. Klicka på Kör i gruppen Resultat på fliken Design.
  7. Spara frågan genom att trycka på CTRL+S.
  8. Skriv Fråga om Chicago-order i rutan Frågenamn och klicka på OK.
  9. Klicka på Visa i gruppen Vyer på fliken Start och klicka sedan på Designvy.
  10. Klicka på Skapa tabell i gruppen Frågetyp på fliken Design.
  1. Skriv Chicago-order i rutan Tabellnamn i dialogrutan Tabellfråga och klicka sedan på OK.
  2. Klicka på Kör i gruppen Resultat på fliken Design.
  3. Klicka på Ja i bekräftelsedialogrutan. Den nya tabellen visas i navigeringsfönstret.

 Anteckning   Om det redan finns en tabell med samma namn, tas den bort innan frågan körs.

Skapa en tilläggsfråga

Med en tilläggsfråga kan du hämta data från en eller flera tabeller och lägga till dessa data i en annan tabell.

 Anteckning    Tilläggsfrågor är inte tillgängliga i Access-appar.

Anta att du har skapat en tabell som du vill dela med din affärspartner i Chicago, men inser att han eller hon också arbetar med kunder i Milwaukee-området. Du vill lägga till rader som innehåller data om Milwaukee i tabellen innan du delar den med din partner. Du kan lägga till information om Milwaukee-området i tabellen Chicago-order genom att följa stegen nedan.

  1. Öppna frågan som heter "Fråga om Chicago-order" i designvyn.
  2. Klicka på Lägg till i gruppen Frågetyp på fliken Design. Dialogrutan Tilläggsfråga öppnas.
  1. Klicka på pilen i rutan Tabellnamn i dialogrutan Tilläggsfråga, välj Chicago-order i listrutan och klicka på OK.
  2. Ta bort 'Chicago' i raden Villkor i kolumnen Leveransort i rutnätet och skriv sedan 'Milwaukee'.
  3. Välj lämpliga fält för respektive kolumn i raden Tillägg till.

I det här exemplet ska värdena i raden Tillägg till matcha värdena i raden Fält, men det är inte nödvändigt för att tilläggsfrågor ska fungera.

  1. Klicka på Kör i gruppen Resultat på fliken Design.

 Anteckning    När du kör en fråga som returnerar en stor mängd data kan ett felmeddelande visas som anger att du inte kan ångra frågan. Prova att öka gränsen för minnessegmentet till 3 MB så att frågan kan köras.

Skapa en uppdateringsfråga

Med en uppdateringsfråga kan du dels ändra data i tabeller, dels ange villkor för att ange vilka rader som ska uppdateras. Med en uppdateringsfråga får du möjlighet att gå igenom den uppdaterade informationen innan uppdateringen utförs.

 Viktigt    En redigeringsfråga kan inte ångras. Du bör skapa en säkerhetskopia av de tabeller som du vill uppdatera innan du använder en uppdateringsfråga.

 Anteckning    Uppdateringsfrågor är inte tillgängliga i Access-appar.

I föregående exempel lade du till rader i tabellen Chicago-order. I tabellen Chicago-order visar fältet Produkt-ID det numeriska produkt-ID:t. Du kan göra informationen i rapporter mer användbar genom att ersätta produkt-ID:n med produktnamn. Följ bara stegen nedan.

  1. Öppna tabellen Chicago-order i designvyn.
  2. Ändra datatypen i raden Produkt-ID från Tal till Text.
  3. Spara och stäng tabellen Chicago-order.
  4. På fliken Skapa i gruppen Fråga klickar du på Frågedesign.
  5. Dubbelklicka på Chicago-order och Produkter i dialogrutan Visa tabell och stäng dialogrutan Visa tabell.
  6. Klicka på Uppdatera i gruppen Frågetyp på fliken Design.
  1. Raderna Sortera och Visa försvinner från rutnätet och raden Ändra till visas.
  2. Dubbelklicka på Produkt-ID i tabellen Chicago-order så att det här fältet läggs till i rutnätet.
  3. Skriv eller klistra in följande på raden Ändra till i kolumnen Produkt-ID i frågerutnätet: [Produkter].[Produktnamn]

 Tips    Du kan använda en uppdateringsfråga om du vill ta bort fältvärden med hjälp av en tom sträng ("") eller NULL i raden Ändra till.

  1. Skriv eller klistra in följande på raden Villkor: [Produkt-ID] Som ([Produkter].[ID])
  2. Du kan granska vilka värden som kommer att ändras av en uppdateringsfråga genom att visa frågan i databladet.
  3. Klicka på Visa > Databladsvy på fliken Design. Frågan returnerar en lista med Produkt-ID som kommer att uppdateras.
  4. På fliken Design klickar du på Kör.

När du öppnar tabellen Chicago-order ser du att de numeriska värdena i fältet Produkt-ID har bytts ut mot produktnamnen från tabellen Produkter. Mer information hittar du i skapa en urvalsfråga.

Skapa en borttagningsfråga

Med en borttagningsfråga kan du dels ta bort data från tabellerna, dels använda den om du vill ange villkor för att ange vilka rader som ska tas bort. Med en borttagningsfråga får du möjlighet att granska raderna som tas bort innan borttagningen utförs.

 Anteckning    Borttagningsfrågor är inte tillgängliga i Access-appar.

Anta att du förbereder dig för att skicka tabellen Chicago-order i föregående exempel till din affärspartner i Chicago, och att du märker att vissa rader innehåller tomma fält. Du bestämmer dig för att ta bort de här raderna innan du skickar tabellen. Om du ska ta bort många fält och det finns tydliga villkor för vilka rader som ska tas bort är det dock mer praktiskt att använda en borttagningsfråga.

Så här använder du en borttagningsfråga för att ta bort de rader i tabellen Chicago-order som inte har något värde för Order-ID:

  1. Klicka på Frågedesign på fliken Skapa.
  2. Dubbelklicka på Chicago-order i dialogrutan Visa tabell och stäng rutan Visa tabell.
  3. Klicka på Ta bort i gruppen Frågetyp på fliken Design. Raderna Sortera och Visa försvinner och raden Ta bort visas i frågerutnätet.
  1. Dubbelklicka på Order-ID i tabellen Chicago-order så att det här fältet läggs till i rutnätet.
  2. Skriv Är Null i raden Villkor i kolumnen Order-ID i rutnätet.
  3. Klicka på Kör i gruppen Resultat på fliken Design.

Läs vidare i skapa en borttagningsfråga.

Överst på sidan Överst på sidan

 
 
Gäller:
Access 2013