Använd flervärdesfält i frågor

Viktigt!: Den här artikeln är maskinöversatt, se ansvarsfriskrivningen. Den engelska versionen av den här artikeln finns här för din referens.

I Microsoft Office Access 2007 kan du skapa ett fält som innehåller flera värden, till exempel en lista med personer som du har tilldelat ett ärende till. Flervärdesfält lämpar sig för vissa situationer, till exempel när du använder Office Access 2007 för att arbeta med information som lagras i en Windows SharePoint Services 3.0-lista, om den listan innehåller ett fält som använder någon av de typer av flervärdesfält som finns i Windows SharePoint Services 3.0.

I den här artikeln beskrivs flervärdesfält och hur du använder dem i frågor.

Artikelinnehåll

Vad är ett flervärdesfält?

Introduktion till frågor

Visar ett flervärdesfält i en fråga

Visa enskilda värden i ett flervärdesfält

Så här fungerar det bundna värdet och visat värde i ett uppslagsfält

Hur du visar det bundna värdet i en fråga

Ange enkel fråga villkoret för ett flervärdesfält

Söka efter fler än ett värde i ett flervärdesfält

Förstå inverkan inklusive en. Värdefält i fältlistan

Inventering, gruppering och använder andra mängdfunktioner

Med hjälp av en tilläggsfråga med ett flervärdesfält

Använda en uppdateringsfråga med ett flervärdesfält

Använda en borttagningsfråga med ett flervärdesfält

Överst på sidan

Vad är flervärdesfält?

Anta att du har tilldelat en av dina anställda eller konsulter en uppgift, men bestämmer dig för att det krävs flera personer för uppgiften. I Office Access 2007 kan du skapa ett flervärdesfält där du väljer personer från en lista.

Flervärdesfält

När du klickar på en kombinationsruta är de kryssrutor som anger dina val markerade. Du kan markera eller avmarkera elementen i listan och sedan klicka på OK.

Ett kombinationsruta med flervärdesfält

De valda personerna lagras i flervärdesfältet och avgränsas med semikolon (som standard) när de visas.

Ett flervärdesfält med värden avgränsade med kommatecken

Tanken bakom flervärdesfält är att underlätta när du vill välja och lagra fler än ett alternativ, utan att behöva skapa en mer avancerad databasdesign. Flervärdesfälten är också viktiga för integrationen med Windows SharePoint Services, eftersom SharePoint-listor också stöder flervärdesfält.

Du kanske undrar varför det går att lagra flera värden i ett fält i Office Access 2007, när detta inte är möjligt i de flesta andra relationsdatabassystem. Svaret är att databasmotorn i Office Access 2007 egentligen inte lagrar värdena i ett enda fält. Även om det du ser och arbetar med verkar finnas i ett enskilt fält, lagras värdena i själva verket oberoende av varandra och hanteras i dolda systemtabeller. Access-databasmotorn hanterar detta åt dig, det vill säga avgränsar och hämtar data automatiskt så att de visas i ett fält.

Tekniskt sett har ett flervärdesfält en N:N-relation. Anta du har en evenemangstabell där du tilldelar ansvar för varje evenemang till en eller flera av dina anställda. Anta att du skapar ett flervärdesfält med namnet "Tilldelat" så att du kan tilldela de anställda evenemang. Relationen mellan evenemangen och de anställda är en N:N-relation. Det innebär att du kan ha många anställda tilldelade ett evenemang, och du kan ha valfri anställd tilldelad många evenemang.

Överst på sidan

Introduktion till frågor

Det främsta syftet med en databas är att leverera information: "Vilken produkt säljer mest? Vem är vår bästa kund? Varför uppnår vi inte försäljningsmålen?" Detta är frågor som du kan ställa till en ändamålsenlig databas. För att få fram svaren skapar du en fråga och anger de villkor som behövs. Informationen i en fråga kan hämtas från en eller flera tabeller. När Access hämtar data som besvarar frågan, kan du visa och analysera informationen. När du har skapat en fråga kan du använda den som grund för ett formulär, en rapport, ett diagram eller en annan fråga.

I Office Access 2007 kan du utnyttja flervärdesfälten i vissa frågor och på vissa sätt. Du kan visa ett flervärdesfält i en fråga, visa de enskilda värdena i ett flervärdesfält i en fråga och utföra vissa utvalda mängdoperationer och åtgärdsfrågor med hjälp av flervärdesfält.

Överst på sidan

Visa ett flervärdesfält i en fråga

När du visar ett flervärdesfält i en fråga måste du bestämma om du vill visa hela flervärdesfältet som innehåller alla värden avgränsade med semikolon, eller en separat rad för varje värde. Anta att du har tabellen Ärenden som innehåller fältet Tilldelat som du använder för att tilldela personer ärenden. Du skapar då en fråga som innehåller fältet Tilldelat så här:

  1. Klicka på Microsoft Office-knappen Bild av Office-knappen och sedan på Öppna.

  2. Välj och öppna databasen i dialogrutan Öppna.

  3. Klicka på Frågedesign i gruppen Rapporter på fliken Skapa.

    Bild av menyfliksområdet i Access

  4. Klicka på den tabell i dialogrutan Visa tabell (i det här fallet "Ärenden") som innehåller flervärdesfältet och klicka sedan på Lägg till.

  5. Klicka på Stäng.

  6. Dra fälten som du vill använda i frågan till frågerutnätet. I det här exemplet drar du fältet Rubrik och flervärdesfältet Tilldelat till frågerutnätet.

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

Frågeresultatet ser ut ungefär som i bilden nedan, där den ena kolumnen innehåller ärenderubriken och den andra kolumnen visar flervärdesfältet:

Frågeresultat som visar fälten Rubrik och Tilldelat

När du skapar en fråga i designvyn, skapas automatiskt motsvarande SQL-uttryck (Structured Query Language). SQL är det frågespråk som används i Access. Så här växlar du till SQL-vyn om du vill visa SQL-uttrycket:

  1. Klicka på pilen under Visa i gruppen Resultat på fliken Design så att Visa-menyn visas.

  2. Klicka på SQL.

SQL-uttrycket ser ut så här:

SELECT Issues.Title, 
Issues.AssignedTo
FROM Issues;

Överst på sidan

Visa enskilda värden i ett flervärdesfält

Anta att du vill expandera flervärdesfältet Tilldelat, så att varje namn eller Tilldelat-värde visas på en separat rad. För att kunna göra detta måste du ange egenskapen Value genom att lägga till strängen ".Value" efter "Tilldelat" i raden Fält, vilket visas så här i frågerutnätet:

Frågerutnät där Rubrik och Tilldelat.Value visas

När du anger Tilldelat på raden Fält visas alla värden i ett flervärdesfält på bara en rad när du kör frågan. När du använder egenskapen Value, som i Tilldelat.Value, visas flervärdesfältet i expanderat format så att varje värde visas på en separat rad. Du kan skapa en fråga om du vill visa enskilda värden på följande sätt.

  1. Klicka på Microsoft Office-knappen Bild av Office-knappen och sedan på Öppna.

  2. Välj och öppna databasen i dialogrutan Öppna.

  3. Klicka på Frågedesign i gruppen Rapporter på fliken Skapa.

    Bild av menyfliksområdet i Access

  4. Klicka på den tabell i dialogrutan Visa tabell (i det här fallet "Ärenden") som innehåller flervärdesfältet och klicka sedan på Lägg till.

  5. Klicka på Stäng.

  6. Dra fälten som du vill använda (i det här exemplet flervärdesfältet med namnet "Tilldelat.Value") till frågerutnätet.

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

Frågeresultat som visar Rubrik och de enskilda Tilldelat-värdena

När du skapar en fråga i designvyn, skapas automatiskt motsvarande SQL-uttryck (Structured Query Language). SQL är det frågespråk som används i Access. Så här växlar du till SQL-vyn om du vill visa SQL-uttrycket:

  1. Klicka på pilen under Visa i gruppen Resultat på fliken Design så att Visa-menyn visas.

  2. Klicka på SQL.

SQL-uttrycket ser ut så här:

SELECT Issues.Title, 
Issues.AssignedTo.Value
FROM Issues;

Överst på sidan

Förstå det bundna värdet och visningsvärdet i en uppslagsfält

Ett flervärdesfält är ett uppslagsfält. Ett uppslagsfält är ett fält i en tabell vars värde hämtas från en annan tabell eller fråga, eller från en värdelista. I Access har det tidigare funnits uppslagsfält för enskilda värden. Flervärdesfält är en nyhet i Office Access 2007. Syftet med att använda ett uppslagsfält är att byta ut visningen av ett tal, till exempel ett ID-nummer (eller annat sekundärnyckelvärde), med någonting mer meningsfullt som ett namn. I stället för att till exempel visa ett kontakt-ID, kan kontaktens namn visas. Detta kontakt-ID är det bundna värdet. Det slås automatiskt upp i en källtabell eller fråga och ersätts med kontaktens namn. Kontaktnamnen är visningsvärdet.

Liksom med uppslagsfält för enskilda värden som har ett visningsvärde och ett bundet värde, har också flervärdesfält visningsvärden som visas i användargränssnittet och bundna värden som lagras i tabellen. För varje post i flervärdesfältet slås ett visningsvärde upp, som baseras på det bundna värdet.

Det innebär att Access ofta visar ett uppslaget visningsvärde som inte är detsamma som det bundna värdet som lagras i fältet. I föregående exempel där fältet Tilldelat används, lagras en uppsättning anställningsnummer från frågan Kontakter (utökat) i fältet Tilldelat. Frågan Kontakter (utökat) valdes som radkälla när flervärdesfältet skapades.

Dessa anställningsnummer är bundna värden. Eftersom fältet Tilldelat är ett uppslagsfält, visas en uppsättning uppslagna värden i frågeresultatet – i det här fallet kontaktnamnen. Kontaktnamnen är visningsvärdena.

Ett datablad med visningsvärden och ett datablad med bundna värden

1. Visningsvärdena.

2. De bundna värdena.

Du kan visa uppslagsegenskaperna för ett flervärdesfält i designvyn. Så här:

  1. Klicka på Microsoft Office-knappen Bild av Office-knappen och sedan på Öppna.

  2. Välj och öppna databasen i dialogrutan Öppna.

  3. Högerklicka i navigeringsfönstret på tabellen där flervärdesfältet lagras.

  4. Klicka på Design.

  5. Klicka i flervärdesfältet (klicka till exempel i Tilldelat).

  6. Klicka på fliken Uppslag under Fältegenskaper.

Uppslagsegenskaper för ett flervärdesfält

Det är viktigt att du förstår skillnaden mellan ett uppslagsfälts visningsvärde och det bundna värdet. Visningsvärdet visas automatiskt i databladsvyn. Det bundna värdet är emellertid det som lagras, det som du använder i frågevillkor och det som kopplas till andra tabeller.

Överst på sidan

Visa det bundna värdet i en fråga

Visningsvärdet visas automatiskt i databladsvyn. När du skapar en fråga kan du åsidosätta det här beteendet så att det bundna värdet visas i stället. Så här gör du:

  1. Klicka på Microsoft Office-knappen Bild av Office-knappen och sedan på Öppna.

  2. Välj och öppna databasen i dialogrutan Öppna.

  3. Klicka på Frågedesign i gruppen Rapporter på fliken Skapa.

    Bild av menyfliksområdet i Access

  4. Klicka på den tabell i dialogrutan Visa tabell (i det här fallet "Ärenden") som innehåller flervärdesfältet och klicka sedan på Lägg till.

  5. Klicka på Stäng.

  6. Dra fälten som du vill använda i frågan till frågerutnätet. I det här exemplet drar du fältet Rubrik och flervärdesfältet Tilldelat.Value till frågerutnätet.

  7. Klicka i fältet Tilldelat.Value i frågerutnätet så att fältet markeras.

  8. Klicka på Egenskapslista i gruppen Visa/dölj på fliken Design.

  9. Markera Textruta i egenskapen Visa kontroll på fliken Uppslag i egenskapslistan.

Egenskapen Visa kontroll i frågedesignern

När du ändrar egenskapen Visa kontroll till Textruta inaktiveras det normala beteendet för uppslagskolumnen, så att det bundna värdet visas i stället för visningsvärdet.

Bundet värde som visas i frågeresultatet

Överst på sidan

Ange enkla frågevillkor för ett flervärdesfält

Anta att du vill visa de ärenden som är tilldelade till "Kelly Rollin". Du kan ange ett villkor i raden Villkor i frågerutnätet, men när du anger ett villkor för ett uppslagsfält måste du ange det bundna värdet, inte visningsvärdet. I det här fallet fastställer du att det bundna värdet för Kelly Rollin är 6. Det är det motsvarande primärnyckelvärdet i frågan Kontakter (utökat) för Kelly.

Så här skapar du en fråga som visar de ärenden som tilldelats till Kelly:

  1. Klicka på Microsoft Office-knappen Bild av Office-knappen och sedan på Öppna.

  2. Välj och öppna databasen i dialogrutan Öppna.

  3. Klicka på Frågedesign i gruppen Rapporter på fliken Skapa.

    Bild av menyfliksområdet i Access

  4. Klicka på den tabell i dialogrutan Visa tabell (i det här fallet "Ärenden") som innehåller flervärdesfältet och klicka sedan på Lägg till.

  5. Klicka på Stäng.

  6. Dra fälten som du vill använda i frågan till rutnätet. I det här exemplet drar du Rubrik till den första kolumnen i rutnätet. Dra sedan Tilldelat till den andra kolumnen.

  7. Skriv 6 i raden Villkor under Tilldelat i rutnätet. Observera att du skriver det bundna värdet, inte visningsvärdet.

    Frågerutnät med villkor i ett flervärdesfält

  8. Kör frågan genom att klicka på Kör i gruppen Resultat på fliken Design.

När du kör frågan visas resultatet i databladsvyn. Observera att frågan bara returnerar de rader där "Kelly Rollin" visas.

Frågeresultat där värdet Tilldelat innehåller 6

När du skapar en fråga i designvyn, skapas automatiskt motsvarande SQL-uttryck (Structured Query Language). SQL är det frågespråk som används i Access. Så här växlar du till SQL-vyn om du vill visa SQL-uttrycket:

  1. Klicka på pilen under Visa i gruppen Resultat på fliken Design så att Visa-menyn visas.

  2. Klicka på SQL.

SQL-uttrycket ser ut så här:

SELECT Issues.AssignedTo
FROM Issues
WHERE (((Issues.AssignedTo.Value)=6));

Söka efter text i stället för ett ID-nummer

Vad ska du göra om du tycker att det är besvärligt att skriva ID-nummer och du föredrar att skriva namnet "Kelly Rollin" som sökvärde? För att det här ska fungera måste du ha ett fält i frågeresultatet som innehåller namnet som text. Då kan du söka efter "Kelly Rollin" i fältet.

Du kan inte använda fältet Tilldelat.Value eftersom dess bundna värde är ett ID-nummer, och därför måste du skriva ett ID om du vill filtrera det fältet.

I det här exemplet finns fältet för kontaktnamn inte i en tabell. I stället finns det i källfrågan som levererar data till flervärdesfältet Tilldelat. Du kan koppla källtabellen eller frågan för flervärdesfältet till tabellen som innehåller flervärdesfältet om du vill inkludera ett fält (kontaktnamn i det här exemplet) från källtabellen eller -frågan i frågeresultatet. Du kan sedan söka i det fältet i stället för flervärdesfältet.

  1. Klicka på Microsoft Office-knappen Bild av Office-knappen och sedan på Öppna.

  2. Välj och öppna databasen i dialogrutan Öppna.

  3. Klicka på Frågedesign i gruppen Rapporter på fliken Skapa.

    Bild av menyfliksområdet i Access

  4. Klicka på den tabell i dialogrutan Visa tabell (i det här fallet "Ärenden") som innehåller flervärdesfältet och klicka sedan på Lägg till.

  5. Klicka på fliken Frågor i dialogrutan Visa tabell och klicka sedan på frågan (i det här exemplet "Kontakter (utökat)") som utgör källan för flervärdesfältet, och klicka sedan på Lägg till.

  6. Klicka på Stäng.

  7. Dra fälten som du vill använda i frågan till rutnätet. I det här exemplet drar du Rubrik från tabellen Ärenden till den första kolumnen i rutnätet. Dra sedan Kontaktnamn från frågan Kontakter (utökat) till den andra kolumnen och avmarkera kryssrutan Visa. Dra sedan Tilldelat till den tredje kolumnen.

  8. Om det inte visas någon kopplingslinje mellan ID-fältet i frågan Kontakter (utökat) och fältet Tilldelat.Value så som visas nedan, klickar du och drar från ID-fältet i frågan Kontakter (utökat) till fältet Tilldelat.Value i tabellen Ärenden.

    En kopplingslinje visas.

    Om några yttre kopplingslinjer visas tar du bort dem. Du tar bort en kopplingslinje genom att klicka på den så att den markeras och sedan trycka på DEL.

  9. Skriv "Kelly Rollin" under Kontaktnamn i frågerutnätet.

    Frågerutnät med villkoret Tilldelat som innehåller "Kelly Rollin"

  10. Kör frågan genom att klicka på Kör i gruppen Resultat på fliken Design.

När du kör frågan visas resultatet i databladsvyn. Observera att frågeresultatet bara returnerar de rader där "Kelly Rollin" visas. Den här metoden fungerar eftersom kopplingen mellan ID-numret i källtabellen eller -frågan och fältet Tilldelat.Value returnerar en separat rad för varje värde i flervärdesfältet, och varje rad också innehåller fältet Kontaktnamn med det fullständiga namnet. Eftersom Kontaktnamn är ett beräknat fält och inte ett uppslagsfält, finns det inget bundet värde eller visningsvärde. Det finns bara ett värde – kontaktnamnet. Då kan du ange texten som ska matchas, i det här fallet "Kelly Rollin".

Frågeresultat med Tilldelat som innehåller "Kelly Rollin"

När du skapar en fråga i designvyn, skapas automatiskt motsvarande SQL-uttryck (Structured Query Language). SQL är det frågespråk som används i Access. Så här växlar du till SQL-vyn om du vill visa SQL-uttrycket:

  1. Klicka på pilen under Visa i gruppen Resultat på fliken Design så att Visa-menyn visas.

  2. Klicka på SQL.

SQL-uttrycket ser ut så här:

SELECT Issues.Title, Issues.AssignedTo 
FROM [Contacts Extended] INNER JOIN Issues ON
[Contacts Extended].ID = Issues.AssignedTo.Value
WHERE ((([Contacts Extended].[Contact Name])=
"Kelly Rollin"));

Överst på sidan

Söka efter fler än ett värde i ett flervärdesfält

Ibland behöver du söka efter fler än ett värde. Anta att du vill visa de ärenden där både "Kelly Rollin" och "Lisa Miller" finns med bland värdena i fältet Tilldelat. Det bundna värdet för Kelly Rollin är 6 och det bundna värdet för Lisa Miller är 10. När du anger flera villkor för ett flervärdesfält använder du operatorerna OCH och ELLER.

Så här skapar du frågan:

  1. Klicka på Microsoft Office-knappen Bild av Office-knappen och sedan på Öppna.

  2. Välj och öppna databasen i dialogrutan Öppna.

  3. Klicka på Frågedesign i gruppen Rapporter på fliken Skapa.

  4. Klicka på den tabell i dialogrutan Visa tabell (i det här fallet "Ärenden") som innehåller flervärdesfältet och klicka sedan på Lägg till.

  5. Klicka på Stäng.

  6. Dra fälten som du vill använda i frågan till rutnätet. I det här exemplet drar du Rubrik till den första kolumnen i rutnätet. Dra sedan Tilldelat till den andra kolumnen.

  7. Skriv 6 och 10i rutnätet, under tilldelat i raden villkor.

    Fråga som visar hur OCH används i ett flervärdesfält

  8. Kör frågan genom att klicka på Kör i gruppen Resultat på fliken Design.

När du kör frågan visas resultatet i databladsvyn.

Frågeresultat som visar hur OCH används i ett flervärdesfält

I resultatet visas bara de ärenden som både Kelly Rollin och Lisa Miller har tilldelats. När du skapar en fråga i designvyn, skapas automatiskt motsvarande SQL-uttryck (Structured Query Language). SQL är det frågespråk som används i Access. Så här växlar du till SQL-vyn om du vill visa SQL-uttrycket:

  1. Klicka på pilen under Visa i gruppen Resultat på fliken Design så att Visa-menyn visas.

  2. Klicka på SQL.

SQL-uttrycket ser ut så här:

SELECT Issues.Title, Issues.AssignedTo
FROM Issues
WHERE (((Issues.AssignedTo.Value)=6
And (Issues.AssignedTo.Value)=10));

Använda operatorn ELLER i stället för OCH

Anta att du vill ändra frågan så att de rader där antingen "Kelly Rollin" eller "Lisa Miller" visas. Du kan redigera SQL-uttrycket så att operatorn ELLER används i stället för OCH. Uttrycket ska sedan se ut så här:

SELECT Issues.Title, Issues.AssignedTo
FROM Issues
WHERE (((Issues.AssignedTo.Value)=6
Or (Issues.AssignedTo.Value)=10));

När du kör frågan visas resultatet i databladsvyn.

Fråga som använder operator Eller med ett flervärdesfält

I resultatet visas bara de ärenden som antingen Kelly Rollin eller Lisa Miller har tilldelats.

Överst på sidan

Förstå vad som händer när fältet .Value infogas i fältlistan

Det är viktigt att du förstår vad som händer när ett .Value-fält infogas i listan med utdatakolumner (SELECT-listan) i frågan. När frågan körs skapas först en resultatuppsättning utan att WHERE-satsen eller filtret påverkar. Filtret tillämpas sedan på den ursprungliga uppsättningen. Om det underlättar betraktar du den resultatuppsättning som skapas först, och som sedan begränsas med hjälp av filtret i WHERE-satsen. Ta en titt på följande exempel:

SELECT Issues.Title, AssignedTo
FROM Issues
WHERE NOT AssignedTo.Value = 3;

Den ursprungliga resultatuppsättningen kan se ut så här, före filtreringen:

Rubrik

Tilldelat

Ärende 1

David Hamilton, Eva Valverde

Ärende 2

Kathleen Gail Jensen, Kelly Rollin, Susan Burk, Lisa Miller

Ärende 3

Jesper Aaberg, Kelly Rollin, Eva Valverde, Tom Michaels

Ärende 4

Wei Yu, Lisa Miller

Ärende 5

David Hamilton, Kathleen Gail Jensen

Ärende 6

Sanjay Jacob, Kelly Rollin

Ärende 7

Jesper Aaberg, Susan Burk

Ärende 8

David Hamilton

Ärende 9

Kelly Rollin, Lisa Miller

Ärende 10

Eva Valverde, Tom Michaels

Filtreringen går sedan igenom den ursprungliga resultatuppsättningen och väljer de rader som inte innehåller David Hamilton, vars ID är 3:

Rubrik

Tilldelat

Ärende 2

Kathleen Gail Jensen, Kelly Rollin, Susan Burk, Lisa Miller

Ärende 3

Jesper Aaberg, Kelly Rollin, Eva Valverde, Tom Michaels

Ärende 4

Wei Yu, Lisa Miller

Ärende 6

Sanjay Jacob, Kelly Rollin

Ärende 7

Jesper Aaberg, Susan Burk

Ärende 9

Kelly Rollin, Lisa Miller

Ärende 10

Eva Valverde, Tom Michaels

Ta en titt på ett annat exempel – ett som innehåller fältet .Value i fältlistan. Observera först hur förekomsten av fältet .Value ändrar den ursprungliga resultatuppsättningen, före filtreringen:

SELECT Issues.Title, AssignedTo.Value
FROM Issues
WHERE NOT AssignedTo.Value = 3;

Den ursprungliga resultatuppsättningen ser ut så här, före filtreringen:

Rubrik

Tilldelat.Value

Ärende 1

David Hamilton

Ärende 1

Eva Valverde

Ärende 2

Kathleen Gail Jensen

Ärende 2

Kelly Rollin

Ärende 2

Lisa Miller

Ärende 2

Susan Burk

Ärende 3

Eva Valverde

Ärende 3

Jesper Aaberg

Ärende 3

Kelly Rollin

Ärende 3

Tom Michaels

Ärende 4

Lisa Miller

Ärende 4

Wei Yu

Ärende 5

David Hamilton

Ärende 5

Kathleen Gail Jensen

Ärende 6

Kelly Rollin

Ärende 6

Sanjay Jacob

Ärende 7

Jesper Aaberg

Ärende 7

Susan Burk

Ärende 8

David Hamilton

Ärende 9

Kelly Rollin

Ärende 9

Lisa Miller

Ärende 10

Tom Michaels

Ärende 10

Eva Valverde

Nu går filtreringen igenom den ursprungliga resultatuppsättningen och väljer bara de rader som inte innehåller David Hamilton, vars ID är 3:

Rubrik

Tilldelat.Value

Ärende 1

Eva Valverde

Ärende 2

Kathleen Gail Jensen

Ärende 2

Kelly Rollin

Ärende 2

Lisa Miller

Ärende 2

Susan Burk

Ärende 3

Eva Valverde

Ärende 3

Jesper Aaberg

Ärende 3

Kelly Rollin

Ärende 3

Tom Michaels

Ärende 4

Lisa Miller

Ärende 4

Wei Yu

Ärende 5

Kathleen Gail Jensen

Ärende 6

Kelly Rollin

Ärende 6

Sanjay Jacob

Ärende 7

Jesper Aaberg

Ärende 7

Susan Burk

Ärende 9

Kelly Rollin

Ärende 9

Lisa Miller

Ärende 10

Tom Michaels

Ärende 10

Eva Valverde

Om du visualiserar resultatuppsättningen före och efter att filtret används, blir det enklare att förutse det rätta frågeresultatet.

Överst på sidan

Räkna, gruppera och använda andra mängdfunktioner

Du kanske vill utföra beräkningar på grupper med värden som lagras i ett flervärdesfält. Till exempel hur många ärenden som tilldelas till varje person, eller hur många personer som är tilldelade till varje ärende. Du kan utföra den här typen av beräkning genom att använda en mängdfunktion i en summeringsfråga.

En mängdfunktion utför en beräkning på en uppsättning värden och returnerar sedan ett enskilt värde. Till exempel Summa, Antal och Medel är tre mängdfunktioner som du kan använda för att beräkna summor. Du kan beräkna summor för alla poster eller för grupper med poster. Om du vill summera efter grupp måste du markera det eller de fält som du vill gruppera efter i frågerutnätet.

Nedan beskrivs hur du skapar en fråga som räknar antalet ärenden för varje person.

  1. Klicka på Microsoft Office-knappen Bild av Office-knappen och sedan på Öppna.

  2. Välj och öppna databasen i dialogrutan Öppna.

  3. Klicka på Frågedesign i gruppen Rapporter på fliken Skapa.

    Bild av menyfliksområdet i Access

  4. Klicka på den tabell i dialogrutan Visa tabell (i det här fallet "Ärenden") som innehåller flervärdesfältet och klicka sedan på Lägg till.

  5. Klicka på Stäng.

  6. Dra fälten som du vill använda i frågan till rutnätet. I det här exemplet drar du Tilldelat.Value till den första kolumnen i rutnätet. Dra sedan Rubrik till den andra kolumnen.

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

    Raden Summor visas i frågerutnätet. Gruppera visas som standard i cellen Summa under varje fält i frågan.

  8. Klicka på Antal i raden Summa under Rubrik.

  9. Kör frågan genom att klicka på Kör i gruppen Resultat på fliken Design.

När du designar frågan anger du vilka fält som ska användas för grupperingen och vilka fält som ska användas för summering (beräkning). I det här exemplet används fältet Tilldela.Value för gruppering och fältet Rubrik för beräkningen. För de fält som du vill använda för gruppering väljer du Gruppera i raden Summa. För de fält som du vill använda för en beräkning väljer du beräkningstyp (till exempel Summa eller Medel). Observera att när du använder ett flervärdesfält för gruppering, måste du använda .Value-fältet. I det här exemplet kan du inte använda fältet Tilldelat för gruppering, utan du måste använda fältet Tilldela.Value. Du måste också använda .Value-fältet när du använder ett flervärdesfält för sortering.

Obs!: När du använder ett flervärdesfält för gruppering måste du använda .Value-fältet. När du använder ett flervärdesfält för sortering måste du också använda .Value-fältet.

När du kör frågan visas resultatet i databladsvyn.

En fråga som räknar hur många ärenden som tilldelas till varje person

Om du vill visa SQL-uttrycket för den här frågan växlar du till SQL-vyn med följande procedur.

  1. Klicka på pilen under Visa i gruppen Resultat på fliken Design så att Visa-menyn visas.

  2. Klicka på SQL.

SQL-uttrycket ser ut så här:

SELECT Issues.AssignedTo.Value, 
Count(Issues.Title) AS CountOfTitle
FROM Issues
GROUP BY Issues.AssignedTo.Value;

Anta att du vill veta hur många personer som är tilldelade till varje ärende. Du kan gruppera efter Rubrik och välja Antal som beräkning för flervärdesfältet. Så här skapar du frågan:

  1. Klicka på Microsoft Office-knappen Bild av Office-knappen och sedan på Öppna.

  2. Välj och öppna databasen i dialogrutan Öppna.

  3. Klicka på Frågedesign i gruppen Rapporter på fliken Skapa.

    Bild av menyfliksområdet i Access

  4. Klicka på den tabell i dialogrutan Visa tabell (i det här fallet "Ärenden") som innehåller flervärdesfältet och klicka sedan på Lägg till.

  5. Klicka på Stäng.

  6. Dra fälten som du vill använda i frågan till rutnätet. I det här exemplet drar du Rubrik till den första kolumnen i rutnätet. Dra sedan Tilldelat till den andra kolumnen.

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

    Raden Summor visas i frågerutnätet. Gruppera visas som standard i cellen Summa under fältet Rubrik i frågan. Uttryck visas som standard i cellen Summa under fältet Tilldela – det beror på att du inte kan utföra en Gruppera-operation på ett flervärdesfält. Det kan du bara göra på ett flervärdes .Value-fält.

  8. Klicka på Antal i raden Summa under Tilldelat.

  9. Kör frågan genom att klicka på Kör i gruppen Resultat på fliken Design.

När du kör frågan visas resultatet i databladsvyn.

Frågeresultat som visar antalet personer per ärende

Om du vill visa SQL-uttrycket för den här frågan växlar du till SQL-vyn med följande procedur.

  1. Klicka på pilen under Visa i gruppen Resultat på fliken Design så att Visa-menyn visas.

  2. Klicka på SQL.

SQL-uttrycket ser ut så här:

SELECT Issues.Title, 
Count(Issues.AssignedTo) AS CountOfAssignedTo
FROM Issues
GROUP BY Issues.Title;

Obs!: I det här SQL SELECT-uttrycket spelar det ingen roll om du använder Antal(Ärenden.Tilldelat) eller Antal(Ärenden.Tilldelat.Value) – resultatet blir detsamma.

Överst på sidan

Använda en tilläggsfråga med ett flervärdesfält

Du kan infoga ett enskilt värde i ett flervärdesfält med hjälp av en infogningsfråga. Anta att du vill lägga till "Kelly Rollin" i flervärdesfältet Tilldelat för ett ärende. Först måste du ta reda på primärnyckelvärdet för ärendet och för kontaktposten för Kelly. Anta att värdet är 10 för ärendet och 6 för Kelly.

Nedan visas hur du skapar frågan.

  1. Klicka på Microsoft Office-knappen Bild av Office-knappen och sedan på Öppna.

  2. Välj och öppna databasen i dialogrutan Öppna.

  3. Klicka på Frågedesign i gruppen Rapporter på fliken Skapa.

    Bild av menyfliksområdet i Access

  4. Klicka på Stäng i dialogrutan Visa tabell.

  5. Klicka på pilen under Visa i gruppen Resultat på fliken Design så att Visa-menyn visas.

  6. Klicka på SQL.

  7. Skriv följande SQL-uttryck i SQL-vyn:

    INSERT INTO Issues ( AssignedTo.[Value] )
    VALUES (6)
    WHERE ID = 10;
  8. Kör frågan genom att klicka på Kör i gruppen Resultat på fliken Design.

    Du kanske måste bekräfta att du vill lägga till den valda raden. Klicka på Ja om du vill infoga raden eller klicka på Nej om du vill avbryta.

Kelly visas nu i fältet Tilldelat för ärendet. Detta är den enda formen av infogningsfråga som fungerar med ett flervärdesfält.

Obs!: En tilläggsfråga är en fråga som du använder för att lägga till poster från en tabell till en befintlig tabell. I Office Access 2007 kan du inte använda en tilläggsfråga som refererar till en tabell som innehåller ett flervärdesfält. Följande fråga fungerar till exempel inte:

INSERT INTO [NewIssues] ( ID, Title, AssignedTo ) SELECT Issues.ID, Issues.Title, Issues.AssignedTo FROM Issues;

Överst på sidan

Använda en uppdateringsfråga med ett flervärdesfält

Med en uppdateringsfråga kan du ändra värden i befintliga poster. När du använder en uppdateringsfråga för att uppdatera en tabell som innehåller flervärdesfält, kan du ändra ett enskilt värde i ett flervärdesfält till ett annat värde. Anta att du vill uppdatera flervärdesfältet Tilldelat för ett visst ärende – till exempel byta ut "Kelly Rollin" mot "Lisa Miller." Först måste du ta reda på primärnyckelvärdet för ärendet och för kontaktposten för Kelly och Lisa. Anta att 8 är värdet för ärendet och 6 är värdet för Kelly, och 10 är värdet för Lisa.

Nedan visas hur du skapar frågan.

  1. Klicka på Microsoft Office-knappen Bild av Office-knappen och sedan på Öppna.

  2. Välj och öppna databasen i dialogrutan Öppna.

  3. Klicka på Frågedesign i gruppen Rapporter på fliken Skapa.

  4. Klicka på Stäng i dialogrutan Visa tabell.

  5. Klicka på pilen under Visa i gruppen Resultat på fliken Design så att Visa-menyn visas.

  6. Klicka på SQL.

  7. Skriv följande SQL-uttryck i SQL-vyn:

    UPDATE Issues 
    SET Issues.AssignedTo.Value = 10
    WHERE (((Issues.AssignedTo.Value)=6)
    AND ((Issues.ID)=8));

    Meddelanden: 

    • Du ska alltid ta med en WHERE-sats som identifierar enbart de poster som du vill uppdatera. Annars uppdateras också andra poster. En uppdateringsfråga som inte innehåller någon WHERE-sats ändrar alla rader i tabellen.

    • Du kan ange ett värde som ska ändras.

  8. Kör frågan genom att klicka på Kör i gruppen Resultat på fliken Design.

    Du kanske måste bekräfta att du vill uppdatera posten. Klicka på Ja om du vill uppdatera raden eller klicka på Nej om du vill avbryta.

Lisa Miller visas nu i stället för Kelly Rollin i fältet Tilldelat för ärendet.

Överst på sidan

Använda en borttagningsfråga med ett flervärdesfält

Du kan använda en borttagningsfråga om du vill ta bort poster från en tabell. När du arbetar med en tabell som innehåller ett flervärdesfält, kan du använda en borttagningsfråga om du vill ta bort poster som innehåller ett visst värde i ett flervärdesfält, eller ta bort ett visst värde från ett flervärdesfält i alla poster i tabellen.

Anta att du vill ta bort "Kelly Rollin" från fältet Tilldelat i hela tabellen. Du skapar då en fråga på följande sätt.

  1. Klicka på Microsoft Office-knappen Bild av Office-knappen och sedan på Öppna.

  2. Välj och öppna databasen i dialogrutan Öppna.

  3. Klicka på Frågedesign i gruppen Rapporter på fliken Skapa.

  4. Klicka på Stäng i dialogrutan Visa tabell.

  5. Klicka på pilen under Visa i gruppen Resultat på fliken Design så att Visa-menyn visas.

  6. Klicka på SQL.

  7. Skriv följande SQL-uttryck i SQL-vyn:

    DELETE Issues.AssignedTo.Value
    FROM Issues
    WHERE (((Issues.AssignedTo.Value)=6));
  8. Kör frågan genom att klicka på Kör i gruppen Resultat på fliken Design.

    Du kanske måste bekräfta att du vill ta bort de valda posterna. Klicka på Ja om du vill ta bort posterna eller klicka på Nej om du vill avbryta.

I följande exempelfråga tas inga poster bort från tabellen Ärenden. Den tar bort ett värde från flervärdesfältet Tilldelat i varje post där värdet finns. Om du vill ta bort poster från tabellen Ärenden ska du inte ange något fält efter DELETE-satsen i SQL-uttrycket. Om du till exempel vill ta bort alla ärenden där "Kelly Rollin" visas bland dem som ärendet har tilldelats till, skriver du följande SQL-uttryck:

DELETE 
FROM Issues
WHERE (((Issues.AssignedTo.Value)=6));

Obs!: Var försiktig när du tar bort poster med en borttagningsfråga. Det går inte att återställa posterna efter att de har tagits bort.

Överst på sidan

Obs!: Ansvarsfriskrivning för maskinöversättning: Den här artikeln har översatts av ett datorsystem utan mänsklig inblandning. Microsoft erbjuder dessa maskinöversättningar för att hjälpa icke engelskspråkiga användare att ta del av information om Microsofts produkter, tjänster och tekniker. Eftersom artikeln är maskinöversatt kan den innehålla fel i ordval, syntax och grammatik.

Utöka dina 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!

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

×