Funkcija DLookup

Primenjuje se na
Access za Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

U Access bazama podataka za računare funkciju DLookup možete koristiti da biste dobili vrednost određenog polja iz navedenog skupa zapisa (domena). U Visual Basic for Applications (VBA) modulu možete da koristite DLookup makro, izraz upita ili izračunatu kontrolu na obrascu ili izveštaju.

Funkciju DLookup možete koristiti da biste prikazali vrednost polja koje nije u izvoru zapisa za obrazac ili izveštaj. Na primer, pretpostavimo da je obrazac zasnovan na tabeli sa detaljima porudžbine. Obrazac prikazuje OrderID, ProductID, UnitPrice, i DiscountQuantitypolja. Međutim, polje se nalazi u drugoj tabeli, ProductName tabeli Products . Funkciju DLookup možete koristiti u izračunatoj kontroli da biste je prikazali ProductName u istom obrascu.

Sintaksa

DLookup(expr, domain [, criteria])

Funkcija DLookup ima sledeće argumente:

Argument Opis
expr Obavezno. Izraz koji identifikuje polje čiju vrednost želite da vratite. Može da bude izraz niske koji identifikuje polje u tabeli ili upitu ili može da bude izraz koji izvršava izračunavanje podataka u tom polju. U programu exprmožete da uključite ime polja u tabeli, kontrolu u obrascu, konstantu ili funkciju. Ako expr uključuje funkciju, ona može da bude ugrađena ili korisnički definisana, ali ne može da bude agregatna ili SQL agregatna funkcija drugog domena.
domain Obavezno. Izraz niske koji identifikuje skup zapisa koji čine domen. Može da bude ime tabele ili ime upita za upit koji ne zahteva parametar.
criteria Opcionalno. Izraz niske koji se koristi za ograničavanje opsega podataka na kojem DLookup se funkcija pokreće. Na primer, criteria često je ekvivalentan odredbi WHERE u SQL izrazu, bez reči WHERE. Ako izostavite funkcijucriteriaDLookup, funkcija se expr izračunava naspram celog domena. Svako polje uključeno u mora criteria da bude polje u domainprogramu . U suprotnom DLookup , funkcija vraća Null.

Napomene

Funkcija DLookup vraća vrednost jednog polja na osnovu informacija navedenih u polju .criteria Iako criteria je opcionalna, funkcija vraća nasumičnu vrednost iz domena ako ne unesete vrednost za nju.DLookup

Ako nijedan zapis ne zadovoljava criteriavrednosti ili ako domain ne sadrži nijedan zapis, DLookup funkcija vraća Null.

Ako se ispuni criteriaviše polja, DLookup funkcija vraća ono koje se prvo pojavljuje. Treba da navedete kriterijume koji obezbeđuju da je vrednost polja koju vraća DLookup jedinstvena. Za kriterijume možete da koristite vrednost primarnog ključa, kao u [EmployeeID] sledećem primeru, da biste obezbedili da vrati DLookup jedinstvenu vrednost:

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

Bilo da koristite DLookup funkciju u makrou ili modulu, izrazu upita ili izračunatoj kontroli, pažljivo konstruišite criteria argument kako bi ga Access ispravno procenio.

Funkciju DLookup možete koristiti da biste naveli kriterijume u redu " Kriterijumi " upita, u izrazu izračunatog polja u upitu ili u redu " Ažuriraj na" u upitu za ažuriranje.

Funkciju možete koristiti DLookup i u izrazu, u izračunatoj kontroli u obrascu ili izveštaju ako polje koje treba da prikažete nije u izvoru zapisa na kom se zasniva obrazac ili izveštaj. Na primer, pretpostavimo da imate obrazac "Detalji porudžbine" zasnovan na tabeli "Detalji porudžbine" sa pozvanim ProductID okvirom za tekst koji prikazuje ProductID polje. Da biste potražili tabelu ProductNameProducts na osnovu vrednosti iz okvira za tekst, napravite još jedan okvir za tekst i postavite njegovo svojstvo "Izvor kontrole " na sledeći izraz:

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

Saveti

  • Iako funkciju DLookup možete koristiti za prikaz vrednosti iz polja u sporednoj tabeli, možda je efikasnije napraviti upit koji sadrži potrebna polja iz obe tabele, a zatim zasnovati obrazac ili izveštaj na tom upitu.
  • Takođe možete upotrebiti čarobnjak za pronalaženje da biste pronašli vrednosti u sporednoj tabeli.

Napomena

Nesačuvane promene na zapisima nisu domain uključene kada koristite ovu funkciju. Ako želite DLookup da koristite promenjene vrednosti, prvo sačuvajte promene tako što ćete kliknuti na dugme "Sačuvaj zapis " u okviru "Zapisi " na kartici "Podaci ", premestiti fokus na drugi zapis ili koristiti Update metod.

Primer

Napomena

Primeri koji slede pokazuju upotrebu ove funkcije u Visual Basic for Applications (VBA) modulu. Više informacija o radu sa VBA modulom potražite u članku Access VBA referenca.

Sledeći primer vraća informacije o imenu iz polja CompanyName zapisa koji zadovoljava criteria. Domen je tabela Shippers . Argument criteria ograničava rezultujući skup zapisa na one za koje ShipperID je jednako 1.

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

Sledeći primer iz tabele Shippers koristi kontrolu ShipperID obrasca kako bi naveo kriterijume za funkciju DLookup . Referenca na kontrolu nije obuhvaćena navodnicima koji određuju niske. To obezbeđuje da Access dobija trenutnu vrednost iz kontrole svaki put kada DLookup se pokrene.

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

Sledeći primer koristi promenljivu intSearch, da biste dobili vrednost.

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