Opret en overlappende liste

Overlappende lister hjælpe brugerne med at udfylde formularer hurtigere og sikrer, at brugerne indtaster data korrekt. I denne artikel beskrives, hvordan du opretter og udfylder overlappende lister med data. I Microsoft Office InfoPath kan du udfylde en liste med data, der bruger værdier fra formularen, værdier fra et eksternt Extensible Markup Language (XML)-dokument eller værdier fra en Microsoft Office Access-database.

Denne artikel indeholder

Hvad er en overlappende liste?

Trin 1: Indsæt en overlappende liste

Trin 2: Angiv data

Hvad er en overlappende liste?

En overlappende liste er en liste med valgmuligheder, der ændres afhængigt af den værdi, som en bruger vælger på en anden liste. Hvis en bruger klikker på f.eks. Krydderier i feltet Kategorier, som vist i den følgende illustration, vil feltet Produkter vise en liste over krydderier.

Eksempel på overlappende listefelt

De følgende afsnit viser, hvordan du kan designe en formularskabelon med to lister, hvor den anden liste filtreres baseret på, hvad en bruger vælger på den første liste. Når værdien på den første liste ændres, anvendes filteret automatisk på den anden liste, som ændrer værdierne.

Kompatibilitetsovervejelser

Filtre kan kun bruges i formularskabeloner, der er designet til at blive udfyldt i InfoPath. Filtre er ikke tilgængelige i browserkompatible formularskabeloner.

Toppen af siden

Trin 1: Indsæt en overlappende liste

Hvis du vil oprette en overlappende liste, skal du indsætte to lister i formularskabelonen.

Bemærk: Når du indsætter en overlappende liste i formularskabelonen, skal du sikre dig, at de to lister ikke er i en gentaget afsnit eller gentaget tabel.

  1. Hvis opgaveruden Kontrolelementer ikke er synlig, skal du klikke på Flere kontrolelementer i menuen Indsæt eller trykke på Alt+I, C.

  2. Under Indsæt kontrolelementer i opgaveruden Kontrolelementer skal du klikke på Rulleliste. Når en bruger udfylder en formular, der er baseret på din formularskabelon, fastlægger valget i denne rulleliste de tilgængelige valgmuligheder i den anden liste.

  3. Klik på Liste. Formularskabelonen indeholder nu en rulleliste og en almindelig liste.

    Rullelistefelt og listefelt i en formular

  4. Dobbeltklik på rullelisten, du har indsat i din formularskabelon i trin 2.

  5. I dialogboksen Egenskaber for rulleliste skal du klikke på fanen Data.

  6. I feltet Feltnavn skal du skrive liste1 og derefter klikke på OK.

  7. Dobbeltklik på listen, du indsatte i formularskabelonen i trin 3.

  8. I dialogboksen Egenskaber for liste skal du klikke på fanen Data.

  9. I feltet Feltnavn skal du skrive liste2overlap og derefter klikke på OK.

Toppen af siden

Trin 2: Angiv data

Nu hvor du har indsat listerne i formularskabelonen, skal du angive de data, der skal vises. Derefter skal du anvende en filter, så valgmulighederne på den anden liste er baseret på brugerens valg på den første liste.

Dette afsnit forklarer, hvordan du forbinder listerne til data ved hjælp af tre almindelige metoder: at føje data til selve formularen, at forbinde formularen med et eksisterende XML-dokument, der indeholder dataene eller at forbinde formularen med en database, der indeholder dataene. Klik på den ønskede metode på følgende liste for at færdiggøre oprettelsen af en overlappende liste.

Opret forbindelse til data i formularen

Opret forbindelse til et eksternt XML-dokument

Opret forbindelse til en database

Opret forbindelse til data i formularen

I dette afsnit kan du se, hvordan du udfylder listerne med data fra formularen. Hvis du vil gøre dette, skal du først konfigurere felterne i formularskabelonen, så du kan angive navnene på kategorierne og et sæt af produkter i hver kategori.

Konfigurer felterne i formularskabelonen

  1. Hvis opgaveruden Datakilde ikke er synlig, skal du klikke på Datakilde på menuen Vis.

  2. I opgaveruden Datakilde skal du højreklikke på gruppen mineFelter og derefter klikke på Tilføj.

  3. I feltet Navn i dialogboksen Tilføj felt eller gruppe skal du skrive KategorierOgProdukter.

  4. På listen Type skal du klikke på Gruppe.

  5. Marker afkrydsningsfeltet Gentaget, og klik derefter på OK.

  6. I opgaveruden Datakilde skal du højreklikke på gruppen KategorierOgProdukter.

  7. I feltet Navn i dialogboksen Tilføj felt eller gruppe skal du skrive Kategori og derefter klikke på OK.. Dette felt vil indeholde navnene på kategorierne på den første liste.

  8. Højreklik på gruppen KategorierOgProdukter, og klik derefter på Tilføj.

  9. I feltet Navn i dialogboksen Tilføj felt eller gruppe skal du skrive Produkt.

  10. Marker afkrydsningsfeltet Gentaget, og klik derefter på OK. Dette felt vil indeholde navnene på produkterne på den anden liste.

Da denne liste er udfyldt med data fra formularen, skal dataene tilføjes formularen. For at gøre det skal du oprette standardværdier for felterne Produkt og Kategori.

Tip!

Du kan også oprette lister, der vises værdier, som brugere indtaster i selve formularen. Gør dette ved at knytte listen sammen med felter, der er bundet til kontrolelementerne i formularen. Når en bruger indtaster værdier i kontrolelementerne, ændres valgmulighederne på listen.

Opret standardværdier

  1. Klik på Standardværdier i menuen Funktioner.

  2. I dialogboksen Rediger standardværdier i gruppen KategorierOgProdukter skal du vælge feltet Kategori (undlad at fjerne markeringen i afkrydsningsfeltet) og derefter klikke på feltet Standardværdi og skrive Alt godt fra havet.

  3. Vælg feltet Produkt (undlad at fjerne markeringen i afkrydsningsfeltet), og skriv derefter Krabbekød i feltet Standardværdi.

  4. Højreklik på feltet Produkt, og klik derefter på Tilføj et nyt produkt ovenfor. Dermed kan du tilføje et nyt produkt til Alt godt fra havet som en standardværdi.

  5. Højreklik på den anden forekomst af feltet Produkt (undlad at fjerne markeringen i afkrydsningsfeltet), og skriv derefter Laks i feltet Standardværdi.

  6. Højreklik på gruppen KategorierOgProdukter, og klik derefter på Tilføj en ny KategorierOgProdukter nedenfor. Dermed kan du tilføje en anden kategori som en standardværdi.

  7. Brug de foregående trin til at angive standardværdier for den anden forekomst af feltet Kategori og Produkt som Mejeriprodukter, Cheddar, og Kakaomælk.

  8. Klik på OK.

Nu hvor du har angivet standardværdier for felterne Produkt og Kategori, kan du knytte den første liste til de data, du lige har angivet.

Opret forbindelse mellem den første liste og dataene

  1. Dobbeltklik på rullelisten, du har indsat i din formularskabelon tidligere.

  2. Klik på fanen Data.

  3. I dialogboksen Egenskaber for rulleliste under Poster på liste skal du klikke på Slå værdier op i formularens datakilde.

  4. Klik på Vælg XPath Knappen Datakilde ud for boksen Poster.

  5. I dialogboksen Markér et felt eller en gruppe i gruppen KategorierOgProdukter skal du klikke på feltet Kategori og derefter klikke på OK to gange.

Nu skal du forbinde den anden liste med dataene. Mens du foretager denne dataforbindelse, vil du skulle anvende et filter på den anden liste. Dette filter udfylder den anden liste med de relevante produkter, baseret på den kategori, der er valgt på den første liste. Filteret sammenligner den værdi, der er valgt på den første liste (feltet liste1) med listen over kategorier, der er gemt i formularen (feltet Kategori).

Forbind den anden liste med dataene

  1. Dobbeltklik på standardlisten, du har indsat i din formularskabelon tidligere.

  2. Klik på fanen Data.

  3. I dialogboksen Egenskaber for liste under Poster på liste skal du klikke på Slå værdier op i formularens datakilde.

  4. Klik på Vælg XPath Knappen Datakilde ud for boksen Poster.

  5. I dialogboksen Markér et felt eller en gruppe i gruppen KategorierOgProdukter skal du klikke på feltet Produkt og derefter klikke på Filtrer data.

  6. Klik på Tilføj i dialogboksen Filtrer data.

  7. I dialogboksen Angiv filterbetingelser skal du klikke på Markér et felt eller en gruppe i det første felt.

  8. I dialogboksen Markér et felt eller en gruppe skal du klikke på liste1 og derefter klikke på OK.

  9. I dialogboksen Angiv filterbetingelser skal du klikke på Markér et felt eller en gruppe i det tredje felt.

  10. I dialogboksen Markér et felt eller en gruppe skal du klikke på Kategori og derefter klikke på OK

Nu, hvor du har forbundet den anden liste med dataene og anvendt filteret, er du klar til at teste listerne for at sikre, at de fungerer korrekt.

Test listerne

  1. Klik på Eksempel på værktøjslinjen Standard, eller tryk på Ctrl+Shift+B for at teste ændringerne.

  2. Klik på Alt godt fra havet i rullelisten. Standardlisten viser en tom linje Krabbekød og Laks.

    Bemærk: Med den tomme linje kan brugerne rydde deres valg på listen.

Hvis listerne ikke fungerer korrekt, kan du gennemse filteret for den anden liste for at sikre, at det sammenligner feltet liste1 med feltet Kategori.

Starten af afsnittet

Opret forbindelse til et eksternt XML-dokument

I dette afsnit kan du se, hvordan du opretter en dataforbindelse til en XML-dokument, der indeholder værdier for produkt og kategori. XML-dokumentet bliver den sekundære datakilde. Hvis du vil oprette denne dataforbindelse, skal du oprette XML-dokumentet, knytte listerne i formularskabelonen til XML-dokumentet og derefter anvende et filter på den anden liste, så listen over produkter ændres korrekt.

Før du kan knytte formularen til en sekundær datakilde, skal du oprette XML-dokumentet.

Opret XML-dokumentet

  1. Start Notesblok eller et andet tekstredigeringsprogram.

  2. Kopier og indsæt følgende XML-data i teksteditoren:

    <?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. Gem filen på computeren som listedata.xml.

Nu, hvor du har oprettet et XML-dokument, kan du forbinde det til formularskabelonen. Dette vil oprette en sekundær datakilde.

Knyt XML-dokumentet til formularskabelonen

  1. Klik på Dataforbindelser i menuen Funktioner.

  2. Klik på Tilføj i dialogboksen Dataforbindelser.

  3. Klik på Modtag data i guiden Dataforbindelse, og klik derefter på Næste.

  4. Klik på XML-dokument på den næste side i guiden, og klik derefter på Næste.

  5. På den næste side i guiden skal du klikke på Gennemse, vælge filen listedata.xml, som du gemte på computeren, og derefter klikke på Åbn.

  6. På den næste side i guiden skal du klikke på Medtag dataene som en ressourcefil i formularskabelonen eller skabelondelen, og klik derefter på Næste.

  7. På næste side i guiden skal du i feltet Skriv et navn for dataforbindelsen skrive listeDataXMLFil.

  8. Marker afkrydsningsfeltet Hent data automatisk, når formularen åbnes. Dette sikrer, at listedataene vil være tilgængelige, hver gang formularen åbnes, i stedet for at kræve, at en bruger laver en forespørgsel om den.

  9. Klik på Udfør.

  10. Klik på Luk i dialogboksen Dataforbindelser.

Du er nu klar til at forbinde den første liste i formularskabelonen med dataene i XML-dokumentet.

Opret forbindelse mellem den første liste og dataene

  1. Dobbeltklik på rullelisten, du har indsat i din formularskabelon tidligere.

  2. Klik på fanen Data.

  3. I dialogboksen Egenskaber for rulleliste under Poster på liste skal du klikke på Slå værdier op i en ekstern datakilde.

  4. I feltet Datakilde skal du klikke på listeDataXMLFil.

  5. Klik på Vælg XPath Knappen Datakilde ud for boksen Poster.

  6. I dialogboksen Markér et felt eller en gruppe i gruppen KategorierOgProdukter skal du klikke på feltet Kategorier.

    Bemærk: Den gule baggrund i dialogboksen Markér et felt eller en gruppe angiver, at du arbejder med en sekundær datakilde.

  7. Klik på OK to gange.

Nu skal du forbinde den anden liste med XML-dokumentet. Mens du foretager denne dataforbindelse, skal du anvende et filter på den anden liste. Dette filter udfylder den anden liste med de relevante produkter, baseret på den kategori, der er valgt på den første liste. Filteret sammenligner den værdi, der er valgt på den første liste (feltet liste1) med listen over kategorier, der er gemt i formularen (feltet Kategori).

Forbind den anden liste med dataene

  1. Dobbeltklik på standardlisten, du har indsat i din formularskabelon tidligere.

  2. Klik på fanen Data.

  3. I dialogboksen Egenskaber for liste under Poster på liste skal du klikke på Slå værdier op i en ekstern datakilde.

  4. I feltet Datakilde skal du klikke på listeDataXMLFil.

  5. Klik på Vælg XPath Knappen Datakilde ud for boksen Poster.

  6. I dialogboksen Markér et felt eller en gruppe i gruppen KategorierOgProdukter skal du klikke på feltet Produkter og derefter klikke på Produkt.

  7. Klik på Filtrer data.

  8. Klik på Tilføj i dialogboksen Filtrer data.

  9. I dialogboksen Angiv filterbetingelser skal du klikke på Markér et felt eller en gruppe i det første felt.

  10. I feltet Datakilde i dialogboksen Markér et felt eller en gruppe skal du klikke på Primær.

  11. Klik på liste1, og klik derefter på OK.

  12. I dialogboksen Angiv filterbetingelser skal du klikke på Markér et felt eller en gruppe i det tredje felt.

  13. I feltet Datakilde i dialogboksen Markér et felt eller en gruppe skal du klikke på listeDataXMLFil (sekundær) og derefter klikke på Kategorier.

  14. Klik på OK for at åbne alle åbne dialogbokse.

Nu, hvor du har forbundet den anden liste med XML-dokumentet og anvendt filteret, er du klar til at teste listerne for at sikre, at de fungerer korrekt.

Test listerne

  1. Klik på Eksempel på værktøjslinjen Standard, eller tryk på Ctrl+Shift+B for at teste ændringerne.

  2. Klik på Alt godt fra havet i rullelisten. Standardlisten viser en tom linje, Krabbekød og Laks.

    Bemærk: Med den tomme linje kan brugerne rydde deres valg på listen.

Hvis listerne ikke fungerer korrekt, kan du gennemse filteret for den anden liste for at sikre, at det sammenligner feltet liste1 med feltet Kategori.

Starten af afsnittet

Opret forbindelse til en database

I dette afsnit kan du se, hvordan du opretter en dataforbindelse til to tabeller i en Access-database. For at gøre dette skal du knytte listerne i formularskabelonen til databasen og derefter anvende et filter på den andet liste, så den liste, der vises i den anden liste, ændres baseret på den værdi, der er valgt i den første liste. I dette eksempel antager vi, at Access-databasen indeholder to tabeller, der kaldes Kategorier og Produkter, og at de to tabeller er relateret til hinanden via feltet KategoriId, som bruges i hver tabel.

Tabellen Kategorier    

KategoriId

Kategorinavn

1

Alt godt fra havet

2

Mejeriprodukter

Tabellen Produkter   

ProduktId

KategoriId

Produktnavn

1

1

Krabbekød

2

1

Laks

3

2

Kakaomælk

4

2

Cheddar

Knyt formularskabelonen til datakilden

Først skal du oprette en dataforbindelse mellem formularskabelonen og tabellerne i databasen. Da du udelukkende viser data fra databasen, i stedet for at redigere dem direkte, bliver Access-databasen en sekundær datakilde for formularskabelonen.

  1. Klik på Dataforbindelser i menuen Funktioner.

  2. Klik på Tilføj i dialogboksen Dataforbindelser.

  3. Klik på Modtag data i guiden Dataforbindelse, og klik derefter på Næste.

  4. Klik på Database (kun Microsoft SQL Server eller Microsoft Office Access) på den næste side i guiden, og klik derefter på Næste.

  5. På den næste side i guiden skal du klikke på Vælg Database, og derefter skal du gå til og dobbeltklikke på Access-databasen på din harddisk.

  6. I dialogboksen Vælg tabel skal du klikke på den tabel, der indeholder de data, du vil have vist på den første liste (i dette eksempel tabellen Kategorier) og derefter klikke på OK. Dette angiver tabellen som den primære tabel for dataforbindelsen.

  7. I guiden skal du klikke på Tilføj tabel.

  8. I dialogboksen Tilføj tabel eller forespørgsel skal du klikke på den tabel, der indeholder de data, du vil have vist på den anden liste (i dette eksempel tabellen Produkter) og derefter klikke på Næste.

  9. I dialogboksen Rediger relation skal du sikre dig, at de forbundne felter er korrekte. I dette eksempel er tabellerne relateret til hinanden via feltet KategoriId.

    Tip: Hvis de forbundne felter er forkerte, skal du vælge felterne og derefter klikke på Fjern relation. Klik derefter på Tilføj relation, vælg de rigtige felter, og klik derefter på OK.

  10. Klik på Udfør.

    Bemærk: I dette eksempel er kategoritabellen en en-til-mange-relation til produkttabellen, hvilket betyder, at for hver kategori kan der være mange produkter. Denne type relation oprettes som regel i en database ved hjælp af nøglefelter. I dette tilfælde giver nøglefeltet KategoriId adgang til at knytte det korrekte sæt produkter til den relevante kategori.

  11. I guiden skal du gennemgå datakildens struktur. Der bør vises to tabeller, der er forbundet med hinanden: Den primære tabel og den sekundære tabel. Hvis du vil se de individuelle felter i tabellen, skal du markere afkrydsningsfeltet Vis tabelkolonner. Når du er færdig med at gennemse datastrukturen, skal du klikke på Næste.

  12. Fjern markeringen af afkrydsningsfeltet Gem en kopi af dataene i formularskabelonen, og klik derefter på Næste.

  13. På næste side i guiden skal du i feltet Skriv et navn på dataforbindelsen angive et navn for dataforbindelsen.

  14. Marker afkrydsningsfeltet Hent data automatisk, når formularen åbnes.

  15. Klik på Afslut, og klik derefter på Luk i dialogboksen Dataforbindelser.

Opret forbindelse mellem den første liste og dataene

Nu, hvor du har oprettet en dataforbindelse til den sekundære datakilde, kan du forbinde den første liste i formularskabelonen til tabellerne i databasen.

  1. Dobbeltklik på rullelisten, du har indsat i din formularskabelon tidligere.

  2. Klik på fanen Data.

  3. I dialogboksen Egenskaber for rulleliste under Poster på liste skal du klikke på Slå værdier op i en ekstern datakilde.

  4. I feltet Datakilde skal du sikre dig, at den dataforbindelse, du har oprettet, er markeret.

  5. Klik på Vælg XPath Knappen Datakilde ud for boksen Poster.

  6. I dialogboksen Markér et felt eller en gruppe skal du klikke på navnet på den tabel, der indeholder de data, du vil have vist på rullelisten (i dette eksempel d:Kategorier) og derefter klikke på OK.

    Bemærk: Den gule baggrund i dialogboksen Markér et felt eller en gruppe angiver, at du arbejder med en sekundær datakilde.

  7. Klik på Vælg XPath Knappen Datakilde ud for boksen Værdi.

  8. I dialogboksen Markér et felt eller en gruppe skal du sikre dig, at forbindelsesfeltet (i dette eksempel :KategoriId) er markeret og derefter klikke på OK. Dette er den værdi, der gemmes, når brugeren foretager en markering på listen.

  9. Klik på Vælg XPath Knappen Datakilde ud for boksen Vist navn.

  10. I dialogboksen Markér et felt eller en gruppe skal du klikke på navnet på det felt, du vil have vist på rullelisten (i dette eksempel :Kategorinavn).

  11. Klik på OK to gange.

Forbind den anden liste med dataene

Nu skal du forbinde den anden liste med databasen. Mens du foretager denne dataforbindelse, skal du anvende et filter på den anden liste. Dette filter udfylder den anden liste med de relevante værdier, baseret på den værdi, der er valgt på den første liste.

  1. Dobbeltklik på standardlisten i formularskabelonen.

  2. Klik på fanen Data.

  3. I dialogboksen Egenskaber for liste under Poster på liste skal du klikke på Slå værdier op i en ekstern datakilde.

  4. I feltet Datakilde skal du sikre dig, at den dataforbindelse, du har oprettet, er markeret.

  5. Klik på Vælg XPath Knappen Datakilde ud for boksen Poster.

  6. I dialogboksen Markér et felt eller en gruppe skal du udvide den primære gruppe (i dette eksempel d:Kategorier) og derefter klikke på den sekundære gruppe, der svarer til den tabel, der indeholder de data, der skal vises på den overlappende liste (i dette eksempel Produkter).

  7. Klik på Filtrer data.

  8. Klik på Tilføj i dialogboksen Filtrer data.

  9. I dialogboksen Angiv filterbetingelser i det første felt, kontrollér, at det forbundne felt fra den sekundære tabel (i dette eksempel Produkter) er markeret.

    Vigtigt: Hvis de forbundne felter har samme navn i begge tabeller, skal du sørge for at vælge det korrekte. Felterne fra hver tabel sorteres sammen på listen. Du kan derfor bruge de omgivende feltnavne til at bestemme, hvilket der er det korrekte. I dette eksempel vælger vi feltet KategoriId, der vises med de andre felter fra tabellen Produkter.

  10. Klik på Markér et felt eller en gruppe i det tredje felt.

  11. I feltet Datakilde i dialogboksen Markér et felt eller en gruppe skal du klikke på Primær klikke på feltet liste1 og derefter klikke på OK.

    Nu har du konfigureret et filter, som sammenligner den værdi, der er valgt i rullelisten (liste1) med listen over værdier i standardlisten.

  12. Klik på OK tre gange for at vende tilbage til dialogboksen Egenskaber for liste.

  13. Klik på Vælg XPath Knappen Datakilde ud for boksen Værdi.

  14. I dialogboksen Markér et felt eller en gruppe skal du markere den værdi, du vil gemme, når brugeren foretager et valg på listen. I dette eksempel vil vi gemme feltet ProduktId til senere brug. Derfor vi vælger gruppen :ProduktId og klikker derefter på OK.

  15. Klik på Vælg XPath Knappen Datakilde ud for boksen Vist navn.

  16. I dialogboksen Markér et felt eller en gruppe skal du klikke på navnet på det felt, du vil have vist på listen (i dette eksempel :Produktnavn).

  17. Klik på OK to gange.

Test listerne

Nu, hvor du har forbundet den anden liste med databasen og anvendt filteret, er du klar til at teste listerne for at sikre, at de fungerer korrekt.

  1. Klik på Eksempel på værktøjslinjen Standard, eller tryk på Ctrl+Shift+B for at teste ændringerne.

  2. Marker en værdi i rullelisten. Standardlisten viser de relevante værdier for den sekundære tabel afhængigt af det forbundne felt, du har valgt.

Tip: Hvis listerne ikke fungerer korrekt, kan du gennemse filteret for den anden liste for at sikre, at det sammenligner feltet liste1 med feltet KategoriId.

Starten af afsnittet

Toppen af siden

Del Facebook Facebook Twitter Twitter Mail Mail

Var disse oplysninger nyttige?

Fantastisk! Har du mere feedback?

Hvordan kan vi forbedre det?

Tak for din feedback!

×