Skapa en överlappande listruta

Överlappande listrutor hjälper användarna att fylla i formulär snabbare och säkerställer att användarna anger data på rätt sätt. Den här artikeln beskriver hur du skapar och fyller i överlappande listrutor med data. I Microsoft Office InfoPath kan du fylla i en lista med data som använder värden från formuläret, värden från ett externt XML-dokument (Extensible Markup Language) eller värden från en Microsoft Office Access-databas.

I den här artikeln

Vad är en överlappande listruta?

Steg 1: Infoga en överlappande listruta

Steg 2: Ange data

Vad är en överlappande listruta?

En överlappande listruta är en listruta med alternativ som ändras baserat på det värde som en användare väljer i en annan listruta. Om en användare till exempel klickar på Smaktillsatser i rutan Kategorier som visas på följande bild, visas en lista över smaktillsatser i rutan Produkter.

Exempel med överlappande listruta

I följande avsnitt visas hur du utformar en formulärmall med två listrutor, där den andra listrutan filtreras baserat på värdet som användaren väljer i den första listrutan. När värdet i den första listrutan ändras används filtret automatiskt på den andra listrutan, och dess värden ändras.

Kompatibilitetsfrågor

Filter kan bara användas i formulärmallar som har utformats för ifyllning i InfoPath. Filter är inte tillgängliga i webbläsarkompatibla formulärmallar.

Överst på sidan

Steg 1: Infoga en överlappande listruta

Om du vill skapa en överlappande listruta måste du infoga två listrutor i formulärmallen.

Obs!: När du infogar en överlappande listruta i formulärmallen ska du se till att de två listrutorna inte finns i ett upprepande avsnitt eller en upprepande tabell.

  1. Om åtgärdsfönstret Kontroller inte visas klickar du på Fler kontroller på menyn Infoga eller trycker på ALT+I, C.

  2. Under Infoga kontroller i åtgärdsfönstret Kontroller klickar du på Nedrullningsbar listruta. När en användare fyller i ett formulär som är baserat på formulärmallen avgör val i den här rutan listrutan vilka alternativ som blir tillgängliga i den andra listrutan.

  3. Klicka på Listruta. Formulärmallen bör nu innehålla en nedrullningsbar listruta och en standardlistruta.

    Nedrullningsbar listruta och listruta i ett formulär

  4. Dubbelklicka på den nedrullningsbara listrutan som du infogade i formulärmallen i steg 2.

  5. I dialogrutan Egenskaper för listrutor klickar du på fliken Data.

  6. Skriv listBox1 i rutan Fältnamn och klicka sedan på OK.

  7. Dubbelklicka på listrutan som du infogade i formulärmallen i steg 3.

  8. I dialogrutan Egenskaper för listruta klickar du på fliken Data.

  9. Skriv listBox2Cascade i rutan Fältnamn och klicka sedan på OK.

Överst på sidan

Steg 2: Ange data

Nu när du har infogat listrutorna i formulärmallen måste du ange de data som ska visas i dem. Sedan måste du använda ett filter så att alternativen i den andra listrutan baseras på användarens val i den första listrutan.

Det här avsnittet beskriver hur du ansluter listrutorna till data med hjälp av tre vanliga metoder: lägga till data i själva formuläret, koppla formuläret till ett befintligt XML-dokument som innehåller data eller ansluta formuläret till en databas som innehåller data. Klicka på den metod du vill använda i listan nedan för att färdigställa den överlappande listrutan.

Ansluta till data i formuläret

Ansluta till ett externt XML-dokument

Ansluta till en databas

Ansluta till data i formuläret

I det här avsnittet lär du dig hur du fyller i listrutor med data från formuläret. För att göra det måste du först konfigurera fält i formulärmallen så att du kan skriva namnen på kategorierna och en uppsättning produkter för varje kategori.

Konfigurera fält i formulärmallen

  1. Om åtgärdsfönstret Datakälla inte visas klickar du på Datakälla på menyn Visa.

  2. I åtgärdsfönstret Datakälla högerklickar du på gruppen myFields och klickar sedan på Lägg till.

  3. Skriv CategoriesAndProducts i rutan Namn i dialogrutan Lägg till fält eller grupp.

  4. Klicka på Grupp i listan Typ.

  5. Markera kryssrutan Upprepande och klicka sedan på OK.

  6. Högerklicka på gruppen CategoriesAndProducts i åtgärdsfönstret Datakälla.

  7. Skriv Kategori i rutan Namn i dialogrutan Lägg till fält eller grupp och klicka på OK. Det här fältet kommer att innehålla kategorinamnen för den första listrutan.

  8. Högerklicka på gruppen CategoriesAndProducts och klicka sedan på Lägg till.

  9. Skriv Produkt i rutan Namn i dialogrutan Lägg till fält eller grupp.

  10. Markera kryssrutan Upprepande och klicka sedan på OK. Det här fältet kommer att innehålla produktnamnen för den andra listrutan.

Eftersom den här listrutan fylls i med data från formuläret måste dessa data läggas till i formuläret. För att kunna göra det måste du skapa standardvärden för fälten Produkt och Kategori.

Tips!

Du kan också skapa listrutor som visar värden som användare anger i formuläret själva. Det gör du genom att koppla listrutan till fält som är bundna till kontroller i formuläret. När en användare anger värden i kontrollerna ändras alternativen i listrutan.

Skapa standardvärden

  1. Klicka på StandardvärdenVerktyg-menyn.

  2. Gå till dialogrutan Redigera standardvärden, i gruppen CategoriesAndProducts, markera fältet Kategori (avmarkera inte kryssrutan) och skriv sedan Fisk och skaldjur i rutan Standardvärde.

  3. Markera fältet Produkt (avmarkera inte kryssrutan) och skriv sedan Krabba i rutan Standardvärde.

  4. Högerklicka på fältet Produkt och klicka sedan på Lägg till ytterligare en produkt ovan. Nu kan du lägga till en andra produkt som standardvärde för Fisk och skaldjur.

  5. Högerklicka på den andra förekomsten av fältet Produkt (avmarkera inte kryssrutan) och skriv sedan Lax i rutan Standardvärde.

  6. Högerklicka på gruppen CategoriesAndProducts och klicka sedan på Lägg till ytterligare en CategoriesAndProducts nedan. Nu kan du lägga till en andra kategori som standardvärde.

  7. Använd de föregående stegen för att ange standardvärden för den andra förekomsten av fälten Kategori och Produkt till Mejeri, Cheddar respektive Chokladmjölk.

  8. Klicka på OK.

Nu när du har angett standardvärden för fälten Produkt och Kategori kan du ansluta den första listrutan till de data som du just angav.

Ansluta den första listrutan till data

  1. Dubbelklicka på den nedrullningsbara listrutan som du tidigare infogade i formulärmallen.

  2. Klicka på fliken Data.

  3. I dialogrutan Egenskaper för nedrullningsbar listruta under Poster i listruta klickar du på Slå upp värden i formulärets datakälla.

  4. Klicka på Välj XPath Bild av knapp intill rutan Poster.

  5. I dialogrutan Markera ett fält eller en grupp i gruppen CategoriesAndProducts klickar du på fältet Kategori och sedan på OK två gånger.

Nu måste du ansluta den andra listrutan till data. När du gör denna dataanslutning kommer du att behöva använda ett filter på den andra listrutan. Med filtret fylls den andra listrutan i med rätt produkter, baserat på den kategori som valts i den första listrutan. Filtret jämför värdet som valts i den första listrutan (listBox1-fältet) med listan med kategorier som sparats i formuläret (kategorifältet).

Ansluta den andra listrutan till data

  1. Dubbelklicka på standardlistrutan som du tidigare infogade i formulärmallen.

  2. Klicka på fliken Data.

  3. I dialogrutan Egenskaper för listruta under Poster i listruta klickar du på Slå upp värden i formulärets datakälla.

  4. Klicka på Välj XPath Bild av knapp intill rutan Poster.

  5. I dialogrutan Markera ett fält eller en grupp i gruppen CategoriesAndProducts klickar du på fältet Produkt och sedan på Filtrera data.

  6. Klicka på Lägg till i dialogrutan Filtrera data.

  7. Klicka på Markera ett fält eller en grupp i den första rutan i dialogrutan Ange filtervillkor.

  8. Klicka på listBox1 i dialogrutan Markera ett fält eller en grupp och klicka sedan på OK.

  9. Klicka på Markera ett fält eller en grupp i den tredje rutan i dialogrutan Ange filtervillkor.

  10. I dialogrutan Markera ett fält eller en grupp klickar du på fältet Kategori och sedan på OK för att stänga alla öppna dialogrutor.

Nu när du har anslutit den andra listrutan till dina data och tillämpat filtret, är du redo att testa listrutorna så att de fungerar korrekt.

Testa listrutorna

  1. Om du vill testa dina ändringar klickar du på Förhandsgranska i verktygsfältet Standard eller trycker på CTRL+SKIFT+B.

  2. Klicka på Fisk och skaldjur i listrutan. Standardlistrutan bör visa en tom rad, Krabba och Lax.

    Obs!: Med den tomma raden kan användarna avmarkera sitt val i listrutan.

Om listrutorna inte fungerar korrekt bör du titta på filtret för den andra listrutan och kontrollera att det jämför fältet listBox1 med fältet Kategori.

Överst i avsnittet

Ansluta till ett externt XML-dokument

I det här avsnittet får du lära dig hur du skapar en dataanslutning till ett XML-dokument som innehåller produkt- och kategorivärden. XML-dokumentet blir en sekundär datakälla. Om du vill skapa den här anslutningen behöver du skapa XML-dokumentet, koppla listrutor i formulärmallen till XML-dokumentet och sedan tillämpa ett filter på den andra listrutan så att listan med produkter ändras på rätt sätt.

Innan du kan koppla formuläret till en sekundär datakälla måste du skapa XML-dokumentet.

Skapa XML-dokumentet

  1. Starta Anteckningar eller någon annan textredigerare.

  2. Kopiera och klistra in följande XML-data i textredigeraren:

    <?xml version="1.0" encoding="UTF-8"?>
    <ListBoxData>
    <CategoriesAndProducts>
    <Categories>Seafood</Categories>
    <Products>
    <Product>Crab meat</Product>
    </Products>
    <Products>
    <Product>Salmon</Product>
    </Products>
    </CategoriesAndProducts>
    <CategoriesAndProducts>
    <Categories>Dairy</Categories>
    <Products>
    <Product>Chocolate milk</Product>
    </Products>
    <Products>
    <Product>Cheddar</Product>
    </Products>
    </CategoriesAndProducts>
    </ListBoxData>
  3. Spara filen på datorn som listBoxData.xml.

Nu när du har skapat ett XML-dokument kan ansluta det till formulärmallen. Då skapas en sekundär datakälla.

Koppla XML-dokumentet till formulärmallen

  1. Välj DataanslutningarVerktyg-menyn.

  2. Klicka på Lägg till i dialogrutan Dataanslutningar.

  3. Klicka på Ta emot data i guiden Dataanslutning och klicka på Nästa.

  4. Klicka på XML-dokument på nästa sida i guiden och klicka sedan på Nästa.

  5. Klicka på Bläddra på nästa sida i guiden, välj filen listBoxData.xml som du sparade på datorn och klicka sedan på Öppna.

  6. Klicka på Ta med data som en resursfil i formulärmallen eller malldelen på nästa sida i guiden och sedan på Nästa.

  7. I rutan Ange ett namn på dataanslutningen på nästa sida i guiden skriver du listBoxDataXMLFile.

  8. Markera kryssrutan Hämta data automatiskt när formuläret öppnas. Detta garanterar att listrutans data blir tillgängliga varje gång formuläret öppnas, i stället för att användaren ska behöva skapa en fråga om det.

  9. Klicka på Slutför.

  10. Klicka på Stäng i dialogrutan Dataanslutningar.

Nu är du redo att ansluta den första listrutan i formulärmallen till data i XML-dokumentet.

Ansluta den första listrutan till data

  1. Dubbelklicka på den nedrullningsbara listrutan som du tidigare infogade i formulärmallen.

  2. Klicka på fliken Data.

  3. I dialogrutan Egenskaper för nedrullningsbar listruta under Poster i listruta klickar du på Slå upp värden i en extern datakälla.

  4. Klicka på listBoxDataXMLFile i rutan Datakälla.

  5. Klicka på Välj XPath Bild av knapp intill rutan Poster.

  6. I dialogrutan Markera ett fält eller en grupp i gruppen CategoriesAndProducts klickar du på fältet Kategori.

    Obs!: Den gula bakgrund i dialogrutan Markera ett fält eller en grupp anger att du arbetar med en sekundär datakälla.

  7. Klicka på OK två gånger.

Nu ska du ansluta den andra listrutan till XML-dokumentet. När du gör denna dataanslutning kommer du att behöva använda ett filter på den andra listrutan. Med filtret fylls den andra listrutan i med rätt produkter, baserat på den kategori som valts i den första listrutan. Filtret jämför värdet som valts i den första listrutan (listBox1-fältet) med listan med kategorier som sparats i formuläret (kategorifältet).

Ansluta den andra listrutan till data

  1. Dubbelklicka på standardlistrutan som du tidigare infogade i formulärmallen.

  2. Klicka på fliken Data.

  3. I dialogrutan Egenskaper för listruta under Poster i listruta klickar du på Slå upp värden i en extern datakälla.

  4. Klicka på listBoxDataXMLFile i rutan Datakälla.

  5. Klicka på Välj XPath Bild av knapp intill rutan Poster.

  6. I dialogrutan Markera ett fält eller en grupp i gruppen CategoriesAndProducts expanderar du gruppen Produkter och klickar på fältet Produkt.

  7. Klicka på Filtrera data.

  8. Klicka på Lägg till i dialogrutan Filtrera data.

  9. Klicka på Markera ett fält eller en grupp i den första rutan i dialogrutan Ange filtervillkor.

  10. Klicka på Primär i rutan Datakälla i dialogrutan Markera ett fält eller en grupp.

  11. Klicka på listBox1 och sedan på OK.

  12. Klicka på Markera ett fält eller en grupp i den tredje rutan i dialogrutan Ange filtervillkor.

  13. Klicka på listBoxDataXMLFile (sekundär) och på Kategorier i rutan Datakälla i dialogrutan Markera ett fält eller en grupp.

  14. Stäng alla öppna dialogrutor genom att klicka på OK.

Nu när du har anslutit den andra listrutan till XML-dokumentet och tillämpat filtret, är du redo att testa listrutorna så att de fungerar korrekt.

Testa listrutorna

  1. Om du vill testa dina ändringar klickar du på Förhandsgranska i verktygsfältet Standard eller trycker på CTRL+SKIFT+B.

  2. Klicka på Fisk och skaldjur i listrutan. Standardlistrutan bör endast visa en tom rad, Krabba och Lax.

    Obs!: Med den tomma raden kan användarna avmarkera sitt val i listrutan.

Om listrutorna inte fungerar korrekt bör du titta på filtret för den andra listrutan och kontrollera att det jämför fältet listBox1 med fältet Kategori.

Överst i avsnittet

Ansluta till en databas

I det här avsnittet lär du dig hur du skapar en dataanslutning till två tabeller i en Access-databas. Det gör du genom att koppla listrutorna i formulärmallen till databasen och sedan tillämpa ett filter på den andra listrutan så att listan som visas i den andra listrutan ändras korrekt baserat på värdet som valts i den första listrutan. I det här exemplet antar vi att Access-databasen innehåller två tabeller som kallas Kategorier och Produkter, och att de två tabellerna är relaterade till varandra genom fältet CategoryID, som används i varje tabell.

Tabellen Kategorier    

CategoryID

CategoryName

1

Fisk och skaldjur

2

Mejeri

Tabellen Produkter    

ProductID

CategoryID

ProductName

1

1

Krabba

2

1

Lax

3

2

Chokladmjölk

4

2

Cheddar

Koppla formulärmallen till datakällan

Först måste du skapa en dataanslutning mellan formulärmallen och tabellerna i databasen. Eftersom du bara visar data från databasen, i stället för att ändra dem direkt, blir Access-databasen en sekundär datakälla för formulärmallen.

  1. Välj DataanslutningarVerktyg-menyn.

  2. Klicka på Lägg till i dialogrutan Dataanslutningar.

  3. Klicka på Ta emot data i guiden Dataanslutning och klicka på Nästa.

  4. Klicka på Databas (endast Microsoft SQL Server eller Microsoft Office Access) på nästa sida i guiden och klicka sedan på Nästa.

  5. Klicka på Välj databas på nästa sida i guiden och gå sedan till och dubbelklicka på Access-databasen på hårddisken.

  6. Klicka på den tabell i dialogrutan Välj tabell som innehåller de data som du vill visa i den första listan (i det här exemplet tabellen Kategorier) och klicka sedan på OK. På så sätt anger du tabellen som primär tabell för dataanslutningen.

  7. Klicka på Lägg till tabell i guiden.

  8. Klicka på den tabell i dialogrutan Lägg till tabell eller fråga som innehåller de data som du vill visa i den andra listan (i det här exemplet tabellen Produkter) och klicka sedan på Nästa.

  9. Kontrollera att rätt fält är anslutna i dialogrutan Redigera relation. I det här exemplet är tabellerna relaterade till varandra via fältet CategoryID.

    Tips: Om de anslutande fälten är felaktiga markerar du fälten och klickar på Ta bort relation. Klicka sedan på Lägg till relation, välj rätt fält och klicka på OK.

  10. Klicka på Slutför.

    Obs!: I det här exemplet har kategoritabellen ett 1:N-samband med produkttabellen, vilket innebär att för varje kategori kan det finnas många produkter. Den här typen av relation upprättas vanligtvis med hjälp av nyckelfält i en databas. I det här fallet är det nyckelfältet CategoryID som gör att Access kan associera rätt uppsättning produkter med rätt kategori.

  11. Granska datakällans struktur i guiden. Du bör se två tabeller som är anslutna till varandra: Den primära tabellen och den sekundära tabellen. Om du vill se de enskilda fälten i tabellen markerar du kryssrutan Visa tabellkolumner. När du är klar med att gå igenom datastrukturen klickar du på Nästa.

  12. Avmarkera kryssrutan Lagra en kopia av data i formulärmallen och klicka sedan på Nästa.

  13. Skriv ett namn på dataanslutningen i rutan Ange ett namn på dataanslutningen på nästa sida i guiden.

  14. Markera kryssrutan Hämta data automatiskt när formuläret öppnas.

  15. Klicka på Slutför och sedan på Stäng i dialogrutan Dataanslutningar.

Ansluta den första listrutan till data

Nu när du har skapat en dataanslutning till den sekundära datakällan kan du ansluta den första listrutan i formulärmallen till tabellerna i databasen.

  1. Dubbelklicka på den nedrullningsbara listrutan som du tidigare infogade i formulärmallen.

  2. Klicka på fliken Data.

  3. I dialogrutan Egenskaper för nedrullningsbar listruta under Poster i listruta klickar du på Slå upp värden i en extern datakälla.

  4. Kontrollera att dataanslutningen som du skapade är vald i rutan Datakälla.

  5. Klicka på Välj XPath Bild av knapp intill rutan Poster.

  6. Klicka på namnet på den tabell i dialogrutan Markera ett fält eller en grupp som innehåller de data som du vill visa i listrutan (i det här exemplet d:Kategorier) och klicka sedan på OK.

    Obs!: Den gula bakgrund i dialogrutan Markera ett fält eller en grupp anger att du arbetar med en sekundär datakälla.

  7. Klicka på Välj XPath Bild av knapp intill rutan Värde.

  8. Kontrollera att det anslutande fältet (i det här exemplet :CategoryID) är valt i dialogrutan Markera ett fält eller en grupp och klicka sedan på OK. Det här är det värde som sparas när användaren gör ett val i listrutan.

  9. Klicka på Välj XPath Bild av knapp intill rutan Visningsnamn.

  10. Klicka på namnet på det fält i dialogrutan Markera ett fält eller en grupp som du vill visa i listrutan (i det här exemplet :CategoryName).

  11. Klicka på OK två gånger.

Ansluta den andra listrutan till data

Nu ska du ansluta den andra listrutan till databasen. När du gör denna dataanslutning kommer du att behöva använda ett filter på den andra listrutan. Med filtret fylls den andra listrutan i med rätt värden, baserat på det värde som valts i den första listrutan.

  1. Dubbelklicka på standardlistrutan i formulärmallen.

  2. Klicka på fliken Data.

  3. I dialogrutan Egenskaper för listruta under Poster i listruta klickar du på Slå upp värden i en extern datakälla.

  4. Kontrollera att dataanslutningen som du skapade är vald i rutan Datakälla.

  5. Klicka på Välj XPath Bild av knapp intill rutan Poster.

  6. Expandera den primära gruppen i dialogrutan Markera ett fält eller en grupp (i det här exemplet d:Kategorier) och klicka sedan på den sekundära grupp som motsvarar den tabell som innehåller de data som du vill visa i den överlappande listrutan (i det här exemplet Produkter).

  7. Klicka på Filtrera data.

  8. Klicka på Lägg till i dialogrutan Filtrera data.

  9. Se till att det anslutande fältet från den sekundära tabellen i den första rutan i dialogrutan Ange filtervillkor är markerad (i det här exemplet Produkter).

    Viktigt!: Om de anslutande fälten har samma namn i båda tabellerna måste du vara noga med att välja rätt. Fälten från varje tabell sorteras tillsammans i listan. Därför kan du använda de omgivande fältnamnen för att avgöra vilket som är korrekt. I det här exemplet väljer vi fältet CategoryID som visas med andra fält från tabellen Produkter.

  10. Klicka på Markera ett fält eller en grupp i den tredje rutan.

  11. Klicka på Primär och på fältet listBox1 i rutan Datakälla i dialogrutan Markera ett fält eller en grupp och klicka sedan på OK.

    Nu har du konfigurerat ett filter som jämför det värde som markeras i listrutan (listBox1-fältet) med en lista med värden i standardlistrutan.

  12. Klicka på OK tre gånger för att gå tillbaka till dialogrutan Egenskaper för listruta.

  13. Klicka på Välj XPath Bild av knapp intill rutan Värde.

  14. Välj det värde som du vill spara när användaren gör ett val i listrutan i dialogrutan Markera ett fält eller en grupp. I det här exemplet vill vi spara fältet ProductID för senare användning. Därför väljer vi gruppen :ProductID och klickar sedan på OK.

  15. Klicka på Välj XPath Bild av knapp intill rutan Visningsnamn.

  16. Klicka på namnet på det fält i dialogrutan Markera ett fält eller en grupp som du vill visa i listrutan (i det här exemplet :ProductName).

  17. Klicka på OK två gånger.

Testa listrutorna

Nu när du har anslutit den andra listrutan till databasen och tillämpat filtret, är du redo att testa listrutorna så att de fungerar korrekt.

  1. Om du vill testa dina ändringar klickar du på Förhandsgranska i verktygsfältet Standard eller trycker på CTRL+SKIFT+B.

  2. Välj ett värde i listrutan. Standardlistrutan bör visa de korrekta värdena från den sekundära tabellen, beroende på vilket anslutningsfält som du har valt.

Tips: Om listrutorna inte fungerar korrekt bör du titta på filtret för den andra listrutan och kontrollera att det jämför fältet listBox1 med fältet CategoryID.

Överst i avsnittet

Överst på sidan

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.

×