Der kan være tidspunkter, hvor du vil sortere data, ikke efter alfabetisk eller numerisk rækkefølge, men efter brugerdefineret rækkefølge (også kaldet brugerdefineret eller logisk rækkefølge). Sortering af hverdage, så mandag vises først, giver f.eks. mere mening end sortering i alfabetisk rækkefølge, hvor fredag vises først. Du kan sortere data i dataarkvisningen i en tabel eller forespørgsel eller i formularvisningen i en formular.
Hvad vil du foretage dig?
Sortér et lille, begrænset antal entydige feltværdier
I denne procedure skal du skrive et udtryk, der bruger funktionen IIf til at rangere titlerne på medarbejdere.
Først skal du oprette en tabel, der indeholder tre felter – Titel, Fornavn og Efternavn. I feltet Titel skal du angive følgende værdier for fire nye poster:
-
Inside-salgskoordinator
-
Salgschef
-
Salgsrepræsentant
-
Vicedirektør, Salg
I felterne Fornavn og Efternavn i de fire poster skal du angive de ønskede navne.
-
Åbn nu tabellen i dataarkvisning.
-
Klik på Avanceret i gruppen Sortér & filter under fanen Hjem, og klik derefter på Avanceret filter/sortering i genvejsmenuen.
-
Føj de ønskede felter, f.eks. Fornavn, Efternavn og Titel, til gitteret.
-
Højreklik på rækken Felt i den første tomme kolonne, klik på Zoom, og skriv derefter følgende udtryk:
IIf ([Titel] = "Vice President, Sales", 1, IIf ([Title] = "Sales Manager", 2, IIf ([Title] = "Sales Representative", 3, IIf ([Title] = "Inside Sales Coordinator", 4, 5))))
Titel er navnet på det felt, der indeholder de værdier, der rangeres. De værdier, der er omsluttet af anførselstegn, er de individuelle værdier, der er gemt i feltet. Den numeriske værdi, der følger, er den rang, der er tildelt den. Det foregående udtryk tildeler rangen 1 til 4 til fire forskellige titler og tildeler plads 5 til alle andre. Når du udfører sorteringen, tildeles de titler, der ikke er nævnt i dette udtryk, samme rang (5).
-
Klik på Stigende i rækken Sortér for den kolonne, der indeholder udtrykket.
-
Klik på Til/fra-filter i gruppen Sortér & Filter under fanen Hjem.
Funktionen IIf returnerer den numeriske værdi, der svarer til værdien i feltet Titel. Hvis f.eks. værdien i feltet Titel er Salgsadministrator, er det tildelte tal 2. Hvis der er en værdi i feltet Titel, der ikke er angivet som argument i funktionen – f.eks. Distriktskoordinator – tildeles den tallet 5. Forespørgslen sorterer derefter disse tal i stigende rækkefølge.
Sortér et stort antal entydige feltværdier
Hvis du har et stort antal værdier at rangere, er en bedre måde at sortere data på ved at oprette en opslagstabel.
Antag, at tabellen Medarbejdere refererer til mere end 50 forskellige titler. Du skal først oprette en opslagstabel og forberede den eksisterende tabel til at slå den nye tabel op. Derefter relaterer du de to tabeller og opretter en forespørgsel.
Oprette en opslagstabel og redigere den eksisterende tabel
-
Opret en ny opslagstabel, der gemmer titlerne. Navngiv tabellen tblTitles, og indstil felterne til de datatyper, der er angivet i parenteser, som vist i følgende tabel:
Titel-id
(Automatisk nummerering)Titel
(Tekst)1
Vicedirektør, Salg
2
Salgschef
3
Salgsrepræsentant
4
Inside-salgskoordinator
-
Angiv feltet Titel-id som den primære nøgle.
-
Rediger tabellen Medarbejder, så den søger efter tabellen tblTitles.
-
I designvisning skal du ændre navnet på feltet Titel til Titel-id.
-
I kolonnen Datatype skal du ændre Datatype til Tal.
-
-
På fanen Generelt under Feltegenskaber skal du ændre Feltstørrelse til Langt heltal.
-
Gem tabellen, og ignorer advarslen om tab af data.
-
Skift til dataarkvisning.
-
Udfyld kolonnen Titler med den Titel-id-værdi, der svarer til titelværdien.
Skriv f.eks. 2 for poster, hvor værdien Titel er Salgsadministrator. For Sælger skal du skrive 3.
-
Gem og luk tabellen.
Relatere de to tabeller
-
Klik på Relationer i gruppen Relationer under fanen Databaseværktøjer.
-
Klik på Tilføj tabeller (eller Vis tabeller i Access) i gruppen Relationer under fanen Design.
-
Vælg tblTitles og Medarbejdere, og klik på Tilføj for at føje dem til vinduet Relationer. Luk dialogboksen Vis tabel.
-
Træk feltet Titel-id fra tabellen tblTitles til feltet Titel-id i tabellen Medarbejdere.
Dialogboksen Rediger relationer åbnes.
-
Sørg for, at de feltnavne, der vises i de to kolonner, begge er Titel-id, og at feltet Relationstype viser En-til-mange. Du kan ændre feltnavnene, hvis det er nødvendigt.
-
Markér afkrydsningsfeltet Gennemtving referentiel integritet.
-
Klik på Opret for at oprette relationen.
Dialogboksen Rediger relationer lukkes og gemmer ændringerne.
-
Luk fanen Relationer .
Opret en forespørgsel
-
Klik på Forespørgselsdesign i gruppen Forespørgsler under fanen Opret.
-
I dialogboksen Tilføj tabeller (Vis tabel i Access) skal du klikke på fanen Tabeller , dobbeltklikke på Medarbejdere og derefter dobbeltklikke på tblTitles.
-
Føj felterne Medarbejder-id, Efternavn og Fornavn fra tabellen Medarbejdere og feltet Titel fra tabellen tblTitles til forespørgselsdesigngitteret.
-
Skift til dataarkvisning.