Applies ToAccess til Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

I Access skrivebordsdatabaser kan du bruge funktionen DLookup til at hente værdien af et bestemt felt fra et bestemt sæt poster (en domæne). Brug funktionen DLookup i et VBA-modul (Visual Basic for Applications), en makro, et forespørgselsudtryk eller et beregnet kontrolelement i en formular eller rapport.

Du kan bruge funktionen DLookup til at få vist værdien af et felt, der ikke findes i posttypen for din formular eller rapport. Antag f.eks., at du har en formular, som er baseret på tabellen Ordredetaljer. I formularen vises felterne Ordre-id, Produkt-id, Enhedspris, Antal og Rabat. Men feltet Produktnavn findes i en anden tabel, nemlig tabellen Produkter. Du kunne bruge funktionen DLookup i et beregnet kontrolelement for at få vist Produktnavn i den samme formular.

Syntaks

DLookup( udtryk, domæne [, kriterier] )

Syntaksen til funktionen DLookup indeholder følgende argumenter:

Argument

Beskrivelse

udtryk

Påkrævet. Et udtryk, der identificerer det felt, hvis værdi du vil returnere. Det kan være et strengudtryk, der identificerer et felt i en tabel eller forespørgsel, eller det kan være et udtryk, der udfører en beregning af data i det pågældende felt. I udtryk kan du medtage navnet på et felt i en tabel, et kontrolelement i en formular, en konstant eller en funktion. Hvis udtryk indeholder en funktion, kan den enten være indbygget eller brugerdefineret, men det kan ikke være en anden domæneaggregeringsfunktion eller en SQL-aggregeringsfunktion.

domæne

Påkrævet. Et strengudtryk, der identificerer det sæt af poster, der udgør domænet. Det kan være et tabelnavn eller et forespørgselsnavn til en forespørgsel, der ikke kræver en parameter.

kriterier

Valgfrit. Et strengudtryk, der bruges til at begrænse det dataområde, hvor funktionen DLookup udføres. Eksempelvis svarer kriterier ofte til WHERE-delsætningen i et SQL-udtryk uden ordet WHERE. Hvis kriterier udelades, evaluerer funktionen DLookupudtryk i forhold til hele domænet. Alle felter, der er inkluderet i kriterier , skal også være et felt i domæne. Ellers returnerer funktionen DLookup en Null-værdi.

Bemærkninger

Funktionen DLookup returnerer værdien for et enkelt felt baseret på de oplysninger, der er angivet i kriterier. Selvom kriterier er et valgfrit argument, så returnerer DLookup en tilfældig værdi i domænet, hvis du ikke angiver en værdi for kriterier.

Hvis der ikke er nogen poster, der opfylder kriterier, eller hvis domæne ikke indeholder nogen poster, returnerer funktionen DLookup en Null-værdi.

Hvis mere end ét felt opfylder kriterier, returnerer funktionen DLookup den første forekomst. Du skal angive kriterier, der sikrer, at feltværdien, der returneres af funktionen DLookup , er entydig. Du kan bruge en primær nøgle værdi til dine kriterier, f.eks. [EmployeeID] i følgende eksempel, for at sikre, at funktionen DLookup returnerer en entydig værdi:

Dim varX As VariantvarX = DLookup("[LastName]", "Employees", _    "[EmployeeID] = 1")

Uanset om du bruger funktionen DLookup i en makro eller et modul, et forespørgselsudtryk eller et beregnet kontrolelement, skal du konstruere argumentet kriterier omhyggeligt for at sikre, at det evalueres korrekt.

Du kan bruge funktionen DLookup til at angive kriterier i rækken Kriterier i en forespørgsel, i et udtryk for et beregnet felt i en forespørgsel eller i rækken Opdater til i en opdater forespørgsel.

Du kan også bruge funktionen DLookup i et udtryk i et beregnet kontrolelement i en formular eller rapport, hvis det felt, du vil vise, ikke findes i den postkilde, som din formular eller rapport er baseret på. Antag f.eks., at du har en formular af typen Ordredetaljer baseret på tabellen Ordredetaljer med et tekstfelt kaldet Produkt-id, som viser feltet Produkt-id. Hvis du vil slå Produktnavn op i en tabel med produkter baseret på værdien i tekstfeltet, kan du oprette et nyt tekstfelt og angive egenskaben Kontrolelementkilde til følgende udtryk:

=DLookup("[ProductName]", "Products", "[ProductID] =" & Forms![Order Details]!ProductID)

Tip!

  • Selvom du kan bruge funktionen DLookup til at vise en værdi fra et felt i en fremmed tabel, kan det være mere effektivt at oprette en forespørgsel, der indeholder de felter, du skal bruge, fra begge tabeller og derefter basere din formular eller rapport på den forespørgsel.

  • Du kan også bruge guiden Opslag til at finde værdier i en fremmed tabel.

Bemærk!: Ikke-gemte ændringer i poster i domæne inkluderes ikke, når du bruger denne funktion. Hvis du vil have, at funktionen DLookup skal være baseret på de ændrede værdier, skal du først gemme ændringerne ved at klikke på Gem post under Poster på fanen Data, flytte fokus til en post eller ved hjælp af metoden Opdater.

Eksempel

Bemærk!: Følgende eksempler demonstrerer brugen af denne funktion i et VBA-modul (Visual Basic for Applications). Du kan finde flere oplysninger om at arbejde med VBA i Access VBA-reference.

I følgende eksempel returneres navneoplysninger fra feltet Firmanavn i den post, der opfylder kriterier. Domænet er en tabel over speditører. Argumentet kriterier begrænser resultatsættet af poster til dem, hvor Speditør-id er lig med 1.

Dim varX As VariantvarX = DLookup("[CompanyName]", _    "Shippers", "[ShipperID] = 1")

Det næste eksempel fra speditørtabellen anvender formularkontrolelementet Speditør-id til at angive kriterier for funktionen DLookup. Bemærk, at referencen til kontrolelementet ikke medtages i de anførselstegn, der angiver strengene. Dette sikrer, at hver gang funktionen DLookup kaldes, henter Access den aktuelle værdi fra kontrolelementet.

Dim varX As VariantvarX = DLookup("[CompanyName]", "Shippers", _    "[ShipperID] = " & Forms!Shippers!ShipperID)

I det næste eksempel anvendes der en variabel, intSearch, til at hente værdien.

Dim intSearch As IntegerDim varX As VariantintSearch = 1varX = DLookup("[CompanyName]", "Shippers", _    "[ShipperID] = " & intSearch)

Har du brug for mere hjælp?

Vil du have flere indstillinger?

Udforsk abonnementsfordele, gennemse kurser, få mere at vide om, hvordan du sikrer din enhed og meget mere.

Communities hjælper dig med at stille og besvare spørgsmål, give feedback og høre fra eksperter med omfattende viden.