Access töölauaandmebaasides saate funktsiooni DLookup abil tuua määratud kirjekomplektist ( domeen ) kindla välja väärtuse. Funktsiooni DLookup saate kasutada moodulis Visual Basic for Applications (VBA), makro, päringuavaldises või vormil või aruandes arvutatud juhtelement.
Saate kasutada funktsiooni DLookup selle välja väärtuse kuvamiseks, mida pole teie vormi või aruande kirje allikas. Näiteks oletame, et teil on vorm, mis põhineb tabelil Tellimuse üksikasjad. Vormil kuvatakse väljad Tellimuse ID, Toote ID, Ühikuhind, Hulk ja Soodustus. Siiski on väli TooteNimi muus tabelis, täpsemalt tabelis Tooted. Saate kasutada funktsiooni DLookup arvutatud juhtelemendis välja TooteNimi kuvamiseks samas vormis.
Süntaks
DLookup( avaldis, domeen [, kriteeriumid] )
Funktsiooni Dlookup süntaksil on järgmised argumendid.
Argument |
Kirjeldus |
---|---|
avaldis |
Nõutav. Avaldis, mis tuvastab välja, mille väärtust soovite tagastada. See võib olla stringavaldis, mis määrab tabeli või päringu välja, või avaldis, mis kasutab selle välja andmeid arvutamiseks. Avaldises saate kaasata tabeli välja nime, vormi juhtelemendi, konstandi või funktsiooni. Avaldises olev funktsioon tohib olla ainult sisseehitatud või kasutaja määratletud, aga mitte mõne muu domeeni kokkuvõttefunktsioon ega SQL-kokkuvõttefunktsioon. |
domeen |
Nõutav. Stringavaldis, mis tuvastab domeeni moodustavat kirjete kogumi. See võib olla tabeli nimi või päringu nimi, mis kuulub parameetreid mitte vajavale päringule. |
kriteeriumid |
Valikuline. Stringiavaldist kasutatakse andmevahemiku piiramiseks, mille peal kasutatakse funktsiooni DLookup. Näiteks SQL-i avaldises on kriteeriumid tihti võrdväärsed WHERE-klausliga, ilma sõnata WHERE. Kui kriteeriumid on välja jäetud, hindab funktsioon DLookupavaldist kogu domeeni vastu. Iga väli, mis on kriteeriumite alla lisatud, peab olema ka domeeni väli; vastasel juhul tagastab funktsioon DLookup vastuseks Nulli. |
Kommentaarid
Funktsioon DLookup tagastab ühe välja väärtuse põhinedes kriteeriumites täpsustatud teabel. Kuigi kriteeriumid on valikuline argument, tagastab funktsioon DLookupkriteeriumite väärtuse puudumisel domeeni suvalise väärtuse.
Kui ükski kirje ei vasta kriteeriumi või domeen ei sisalda kirjeid, tuleb funktsiooni DLookup vastuseks Null.
Kui kriteeriumidele vastab mitu välja, tagastab funktsioon DLookup esimese esinemiskorra. Peaksite määrama kriteeriumid, mis tagavad, et funktsiooni DLookup tagastatud väljaväärtus on kordumatu. Võib-olla soovite oma kriteeriumide jaoks kasutada primaarvõti väärtust (nt järgmises näites [EmployeeID] ), et tagada funktsiooni DLookup kordumatu väärtus.
Dim varX As Variant
varX = DLookup("[LastName]", "Employees", _ "[EmployeeID] = 1")
Hoolimata sellest, kas kasutate funktsiooni DLookup makros, moodulis, päringuavaldises või arvutatud juhtelemendis, peate moodustama kriteeriumite argumendi hoolikalt, et veenduda hinnangu korrektsuses.
Saate kasutada funktsiooni DLookup kriteeriumite täpsustamiseks päringu reas Kriteeriumid, päringus arvutatud välja avaldises, või värskenduspäringu reas Värskenda.
Saate kasutada ka funktsiooni DLookup vormi või aruande arvutatud juhtelemendi avaldises, kui väli, mida peate kuvama, ei ole kirje allikas, millele teie vorm või aruanne põhineb. Näiteks oletame, et teil vorm Tellimuse üksikasjad, mis põhineb tabelil Tellimuse üksikasjad, ja sisaldab tekstivälja Toote ID, milles kuvatakse väli Toote ID. Selleks, et otsida TooteNimi tabelist Tooted põhinedes tekstiväljal oleval väärtusel, võiksite luua uue tekstivälja ja seada selle atribuut ControlSource järgmiseks avaldiseks:
=DLookup("[ProductName]", "Products", "[ProductID] =" & Forms![Order Details]!ProductID)
Näpunäited
-
Kuigi funktsiooni DLookup abil saate kuvada välistabel välja väärtuse, võib olla tõhusam luua päring, mis sisaldab mõlemast tabelist pärinevaid välju, ja seejärel võtta vorm või aruanne selle päringu aluseks.
-
Väärtuste otsimiseks välistabelist saate kasutada ka Otsinguviisardit.
Märkus.: Domeenide kirjete salvestamata muudatusi ei lisata, kui kasutate seda funktsiooni. Kui soovite, et funktsioon DLookup põhineks muudetud väärtustel, peate esmalt muudatused salvestama klõpsates menüü Andmed jaotises Kirjed nuppu Salvesta kirje; viies tähelepanu muule kirjele või kasutades meetodit Värskendamine.
Näide
Märkus.: Järgmised näited kujutavad selle funktsiooni kasutamist rakenduse Visual Basic for Applications (VBA) moodulis. Lisateavet VBA-ga töötamise kohta leiate teemast Accessi VBA teatmematerjalid.
Järgmises näites tagastatakse kirje väljalt EttevõtteNimi nime teave vastavalt kriteeriumitele. Domeen on tabel Ekspediitorid. Kriteeriumi argument piirab kirjete kogumit nende hulgas, kus väärtus Tarnija ID võrdub väärtusega 1.
Dim varX As Variant
varX = DLookup("[CompanyName]", _ "Shippers", "[ShipperID] = 1")
Järgmises näites kasutatakse tabelis Tarnijad vormi juhtelemendi Tarnija ID-d funktsioonile DLookup kriteeriumite määramiseks. Pange tähele, et juhtelemendi viide ei ole jutumärkides, mis stringe tähistaks. See tagab, et iga kord, kui funktsiooni DLookup kutsutakse, saab Access juhtelemendilt praeguse väärtuse.
Dim varX As Variant
varX = DLookup("[CompanyName]", "Shippers", _ "[ShipperID] = " & Forms!Shippers!ShipperID)
Järgmises näites kasutatakse väärtuse saamiseks muutujat intSearch.
Dim intSearch As Integer
Dim varX As Variant intSearch = 1 varX = DLookup("[CompanyName]", "Shippers", _ "[ShipperID] = " & intSearch)