Funkcija „DLookup“

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

Napomena : Ovaj članak se ne odnosi na Access veb aplikacije.

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 polja „ID porudžbine“, „ID proizvoda“, „Cena po jedinici“, „Količina“ i „Popust“. Međutim, polje „Ime proizvoda“ se nalazi u drugoj tabeli, „Proizvodi“. Funkciju DLookup možete koristiti u izračunatoj kontroli da biste u istom obrascu prikazali „Ime proizvoda“.

Sintaksa

DLookup( expr, domain [, criteria] )

Sintaksa funkcije DLookup ima sledeće argumente:

Argument

Opis

expr

Obavezno. Izraz koji identifikuje polje čiju vrednost želite da vratite. To može da bude izraz niske koja identifikuje polje u tabeli ili upitu ili može da bude izraz koji obavlja izračunavanje podataka u tom polju. U argument expr možete uključiti 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 funkcija drugog domena ili SQL agregatna funkcija.

domain

Obavezno. Izraz niske koji identifikuje skup zapisa koji čine domen. To 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 se izvršava funkcija DLookup. Na primer, argument criteria je često ekvivalentan odredbi WHERE u SQL izrazu, bez reči WHERE. Ako se criteria izostavi, funkcija DLookup procenjuje expr naspram celog domena. Svako polje uključeno u argument criteria takođe mora biti polje u argumentu domain. U suprotnom, funkcija DLookup vraća vrednost Null.

Napomene

Funkcija DLookup vraća vrednost jednog polja na osnovu informacija navedenih u argumentu criteria. Iako je criteria opcionalan argument, ako ne navedete vrednost za criteria, funkcija DLookup vraća nasumičnu vrednost iz domena.

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

Ako više polja odgovara argumentu criteria, funkcija DLookup vraća ono koje se prvo pojavljuje. Treba da navedete kriterijume koji će obezbediti da vrednost polja koju vraća funkcija DLookup bude jedinstvena. Za kriterijume možete upotrebiti vrednost primarni ključ, kao što je [EmployeeID] u sledećem primeru, kako biste obezbedili da funkcija DLookup vrati jedinstvenu vrednost:

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

Bilo da koristite funkciju DLookup u makrou ili modulu, izrazu upita ili izračunatoj kontroli, morate pažljivo da konstruišete argument criteria kako biste obezbedili da se ispravno izračuna.

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

Funkciju DLookupmožete koristiti i u izrazu u izračunatoj kontroli u obrascu ili u izveštaju ako polje koje treba da prikažete nije u izvoru zapisa na kojem je zasnovan obrazac ili izveštaj. Na primer, pretpostavimo da imate obrazac „Detalji porudžbine“ zasnovan na tabeli „Detalji porudžbine“ sa okvirom za tekst „ID proizvoda“ koji prikazuje polje „ID proizvoda“. Da biste potražili „Ime proizvoda“ iz tabele „Proizvodi“ na osnovu vrednosti iz polja za tekst, mogli biste da napravite još jedan okvir za tekst i da njegovo svojstvo ControlSource postavite na sledeći izraz:

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

Saveti

  • Iako funkciju DLookup možete koristiti za prikaz vrednosti polja iz spoljna tabela, 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 : Promene u zapisima na domenu koje nisu sačuvane nisu obuhvaćene kad koristite ovu funkciju. Ako želite da funkcija DLookup bude zasnovana na izmenjenim vrednostima, prvo morate da sačuvate promene tako što ćete kliknuti na dugme Sačuvaj zapis u okviru Zapisi na kartici Podaci, premeštajući fokus na drugi zapis, ili tako što ćete upotrebiti metod Update.

Primer

Napomena : Primeri koji slede pokazuju upotrebu ove funkcije u Visual Basic for Applications (VBA) modulu. Ako vam je potrebno više informacija o radu sa VBA modulom, izaberite stavku Referenca razvojnog programera sa padajuće liste pored stavke Pretraga i unesite jedan ili više termina u polje za pretragu.

Sledeći primer vraća informacije o imenu iz polja „Ime preduzeća“ zapisa koji odgovara argumentu criteria. Domen je tabela „Špediteri“. Argument criteria ograničava rezultujući skup zapisa na one za koje je „ID špeditera“ jednako 1.

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

Sledeći primer iz tabele „Špediteri“ koristi kontrolu obrasca „ID špeditera“ kako bi naveo kriterijume za funkciju DLookup. Obratite pažnju na to da referenca na kontrolu nije obuhvaćena navodnicima koji određuju niske. To omogućava da Access dobije trenutnu vrednost iz kontrole svaki put kad se pozove funkcija DLookup.

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

Sledeći primer za dobijanje vrednosti koristi promenljivu intSearch.

Dim intSearch As Integer
Dim varX As Variant
intSearch = 1
varX = DLookup("[CompanyName]", "Shippers", _
"[ShipperID] = " & intSearch)
Unapredite veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Office Insider korisnicima

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Zvuči da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×