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

U Access bazama podataka za stolna računala možete koristiti funkciju DLookup da biste dobili vrijednost određenog polja iz određenog skupa zapisa ( domena ). Funkciju DLookup koristite u modulu programa Visual Basic for Applications (VBA), modulu makronaredba, izrazu upita ili izračunata kontrola obrascu ili izvješću.

Funkciju DLookup možete koristiti za prikaz vrijednosti polja koje se ne nalazi u izvoru zapisa za obrazac ili izvješće. Pretpostavimo, na primjer, da imate obrazac koji se temelji na tablici Detalji narudžbe. U obrascu se prikazuju polja IDNarudžbe, IDProizvoda, Jedinična cijena, Količina i Popust. No polje NazivProizvoda nalazi se u drugoj tablici – tablici Proizvodi. Pomoću funkcije DLookup u kontroli izračuna možete na istom obrascu prikazati polje NazivProizvoda.

Sintaksa

DLookup( izraz, domena [, kriteriji] )

Sintaksa funkcije DLookup sadrži ove argumente:

Argument

Opis

izraz

Obavezno. Izraz koji određuje polje čiju vrijednost želite prikazati. To može biti nizovni izraz koji određuje polje u tablici ili upitu ili izraz koji izvodi izračun na podacima u tom polju. U argument izraz možete uvrstiti naziv polja tablice, kontrolu s obrasca, konstantu ili funkciju. Ako izraz sadrži funkciju, ona može biti ili ugrađena ili korisnički definirana, no ne može biti neka druga domenska ili SQL funkcija zbrajanja.

domena

Obavezno. Niz koji određuje skup zapisa koji čine domenu. To može biti naziv tablice ili upita za upit koji ne zahtijeva parametar.

kriteriji

Neobavezno. Nizovni izraz koji se koristi za ograničavanje raspona podataka na kojem se izvršava funkcija DLookup. Argument kriteriji, primjerice, često je jednak uvjetu WHERE u SQL izrazu, no bez riječi WHERE. Ako izostavite argument kriteriji, funkcija DLookup vrednuje argument izraz u cijeloj domeni. Sva polja obuhvaćena argumentom kriteriji moraju ujedno biti i polja u argumentu domena; u suprotnom funkcija DLookup vraća vrijednost null.

Napomene

Funkcija DLookup vraća vrijednost jednog polja na temelju informacija navedenih u argumentu kriteriji. Premda je kriteriji neobavezan argument, ako ne unesete vrijednost za argument kriteriji, funkcija DLookup vratit će slučajnu vrijednost iz domene.

Ako nijedan zapis ne zadovoljava argument kriteriji ili ako domena ne sadrži zapise, funkcija DLookup vraća vrijednost null.

Ako argument kriteriji zadovoljava veći broj polja, funkcija DLookup vraća prvu pojavu. Potrebno je odrediti kriterije kojima se jamči da će vrijednost polja koje vrati funkcija DLookup biti jedinstvena. Da biste bili sigurni da će funkcija DLookup vratiti jedinstvenu vrijednost, možete za kriterije koristiti primarni ključ, kao što je [EmployeeID] u sljedećem primjeru:

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

Bez obzira na to koristite li funkciju DLookup u makronaredbi, modulu, izrazu upita ili kontroli izračuna, argument kriteriji morate pažljivo sastaviti da bi se pravilno vrednovao.

Funkciju DLookup možete koristiti za određivanje kriterija u retku Kriteriji upita, unutar izraza izračunatog polja u upitu ili u retku Ažuriraj na u upit za ažuriranje.

Funkciju DLookup možete koristiti i u izrazu kontrole izračuna na obrascu ili u izvješću ako se polje koje želite prikazati ne nalazi u izvoru zapisa na kojem se obrazac ili izvješće temelje. Pretpostavimo, na primjer, da imate obrazac Detalji narudžbe koji se temelji na tablici Detalji narudžbe s tekstnim okvirom naziva IDProizvoda u kojem se prikazuje polje IDProizvoda. Da biste potražili NazivProizvoda u tablici Proizvodi na temelju vrijednosti u tekstnom okviru, možete stvoriti drugi tekstni okvir i postaviti svojstvo ControlSource na sljedeći izraz:

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

Savjeti

  • Premda funkciju DLookup možete koristiti za prikaz vrijednosti iz polja koje sadrži vanjska tablica, učinkovitije je stvoriti upit koji sadrži potrebna polja iz obje tablice, a zatim na temelju tog upita izraditi obrazac ili izvješće.

  • Za pronalaženje vrijednosti iz vanjske tablice možete koristiti i čarobnjak za dohvaćanje vrijednosti.

Napomena: Funkcija neće obuhvatiti nespremljene promjene zapisa u argumentu domena. Ako želite da se funkcija DLookup temelji na promijenjenim vrijednostima, najprije morate spremiti promjene klikom na Spremi zapis na kartici Podaci u odjeljku Zapisi, čime fokus premještate na drugi zapis, ili pomoću metode ažuriranja.

Primjer

Napomena: Primjeri koji slijede prikazuju korištenje te funkcije u modulu jezika Visual Basic for Applications (VBA). Dodatne informacije o radu s VBA-om potražite u članku Vba referenca za Access.

U sljedećem se primjeru dohvaća podatak o nazivu iz polja NazivTvrtke u zapisu koji zadovoljava kriterije. Domena je tablica Dostavljači. Argument kriteriji ograničava skup rezultata na zapise u kojima je IDdostavljača jednak 1.

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

U sljedećem se primjeru iz tablice Dostavljači pomoću kontrole obrasca IDdostavljača dohvaćaju kriteriji za funkciju DLookup. Imajte na umu da referenca na kontrolu nije obuhvaćena navodnicima koji označavaju nizove. Time se jamči da će svaki put kada se funkcija DLookupAccess dohvatiti trenutnu vrijednost iz kontrole.

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

U sljedećem se primjeru za dohvaćanje vrijednosti koristi varijabla intSearch.

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

Potrebna vam je dodatna pomoć?

Želite dodatne mogućnosti?

Istražite pogodnosti pretplate, pregledajte tečajeve za obuku, saznajte kako zaštititi uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na njih, pošaljete povratne informacije i čujete se sa stručnjacima s bogatim znanjem.