Funkcija DLookup

Access datora datu bāzēs funkciju DLookup var izmantot, lai saņemtu vērtību no noteikta lauka norādītajā ierakstu kopā (domēns). Izmantojiet funkciju DLookup Visual Basic for Applications (VBA) modulī, makro, vaicājuma izteiksmē vai aprēķinātās vērtības vadīkla formā vai atskaitē.

Piezīme : Šis raksts neattiecas uz Access tīmekļa programmām.

Funkciju DLookup var izmantot, lai parādītu vērtību laukam, kura nav formas vai atskaites ieraksta avotā. Piemēram, pieņemsim, ka jums ir forma, kuras pamatā ir tabula Order Details. Formā tiek parādīts lauks OrderID, ProductID, UnitPrice, Quantity un Discount. Taču lauks ProductName ir citā tabulā — tabulā Products. Funkciju DLookup var izmantot aprēķinātā vadīklā, lai tajā pašā formā parādītu lauku ProductName.

Sintakse

DLookup( izteiksme, domēns [, kritērijs] )

Funkcijas DLookup sintaksē ir šādi argumenti:

Arguments

Apraksts

izteiksme

Obligāts. Izteiksme, kas identificē lauku, kura vērtība ir jāatgriež. Tā var būt virknes izteiksme, kas identificē lauku tabulā vai vaicājumā, vai izteiksme, kas veic aprēķinu ar šī lauka datiem. Izteiksmē var iekļaut tabulas lauka nosaukumu, formas vadīklu, konstanti vai funkciju. Ja izteiksme ietver funkciju, tā var būt iebūvēta vai lietotāja definēta, bet ne cita domēna apkopošanas vai SQL apkopošanas funkcija.

domēns

Obligāts. Virknes izteiksme, kas identificē domēnu veidojošo ierakstu kopu. Tas var būt tabulas nosaukums vai vaicājuma nosaukums vaicājumam, kuram nav nepieciešams parametrs.

kritērijs

Neobligāts. Virknes izteiksme, ko izmanto, lai ierobežotu tādu datu diapazonu, kuriem tiek lietota funkcija DLookup. Piemēram, kritērijs bieži vien ir ekvivalents klauzulai WHERE SQL izteiksmē bez vārda WHERE. Ja kritērijs tiek izlaists, funkcija DLookup novērtē izteiksmi pret visu domēnu. Ikvienam laukam, kas ir iekļauts kritērijā, jābūt arī domēna laukam. Pretējā gadījumā funkcija DLookup atgriež rezultātu Null.

Piezīmes

Funkcija DLookup atgriež vienu lauka vērtību, pamatojoties uz kritērijā norādīto informāciju. Lai gan kritērijs ir neobligāts arguments, ja nenorādāt kritērija vērtību, funkcija DLookup atgriež nejaušu vērtību domēnā.

Ja neviens ieraksts neapmierina kritēriju vai domēnā nav ierakstu, funkcija DLookup atgriež vērtību Null.

Ja kritērijam atbilst vairāki lauki, funkcija DLookup atgriež pirmo gadījumu. Ir jānorāda tāds kritērijs, kas nodrošina to, ka funkcijas DLookup atgrieztā lauka vērtība ir unikāla. Lai nodrošinātu, ka funkcija DLookup atgriež unikālu vērtību, iespējams, kritērijā ir jāizmanto primārā atslēga vērtība, piemēram, [EmployeeID], kā šajā piemērā:

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

Ja funkciju DLookup izmantojat makro vai modulī, vaicājuma izteiksmē vai aprēķinātā vadīklā, arguments kritērijs ir jāveido uzmanīgi, lai nodrošinātu to, ka tas tiek pareizi novērtēts.

Funkciju DLookup var izmantot, lai norādītu kritēriju vaicājuma rindā Kritēriji, aprēķināta lauka izteiksmē vaicājumā vai atjaunināšanas vaicājums rindā Atjaunināt uz.

Funkciju DLookup var izmantot arī aprēķinātas vadīklas izteiksmē formā vai atskaitē, ja lauka, kas jāparāda, nav ieraksta avotā, kas ir formas vai atskaites pamatā. Piemēram, pieņemsim, ka jums ir forma Order Details, kuras pamatā ir tabula Order Details, ar tekstlodziņu ProductID, kas parāda lauku ProductID. Lai uzmeklētu ProductName no tabulas Products, pamatojoties uz tekstlodziņā esošo vērtību, varat izveidot vēl vienu tekstlodziņu un tā rekvizītam Vadīklas avots iestatīt šādu izteiksmi:

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

Padomi

  • Lai gan funkciju DLookup var izmantot, lai parādītu vērtību no lauka, kas atrodas ārējā tabula, iespējams, daudz efektīvāk ir izveidot vaicājumu, kas ietver nepieciešamos laukus no abām tabulām, un pēc tam šo vaicājumu izmantot par pamatu formai vai atskaitei.

  • Varat arī izmantot uzmeklēšanas vedni, lai atrastu vērtības ārējā tabulā.

Piezīme : Izmantojot šo funkciju, domēna ierakstos netiek iekļautas nesaglabātās izmaiņas. Ja vēlaties, lai funkcija DLookup izmantotu mainītās vērtības, jums vispirms ir jāsaglabā izmaiņas, noklikšķinot uz Saglabāt ierakstu cilnes Dati sadaļā Ieraksti, pārvietojot fokusu uz citu ierakstu vai izmantojot metodi Atjaunināt.

Piemērs

Piezīme : Turpmākajos piemēros redzama šīs funkcijas izmantošana Visual Basic for Applications (VBA) modulī. Lai iegūtu papildinformāciju par darbu ar VBA, nolaižamajā sarakstā atlasiet Uzziņas materiāli izstrādātājiem blakus meklēšanas lodziņam un ievadiet šajā lodziņā vienu vai vairākus vārdus.

Šajā piemērā tiek atgriezti nosaukuma dati no lauka CompanyName ierakstā, kas atbilst kritērijam. Domēns ir tabula Shippers. Arguments kritērijs ierobežo iegūto ierakstu kopu, ietverto tikai tos, kuriem ShipperID ir 1.

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

Nākamajā piemērā no tabulas Shippers tiek izmantota formas vadīkla ShipperID, lai nodrošinātu kritēriju funkcijai DLookup. Pievērsiet uzmanību tam, ka atsauce uz šo vadīklu nav ielikta pēdiņās, kas apzīmē virknes. Tā tiek nodrošināts, lai katrā funkcijas DLookup izsaukšanas reizē Access no vadīklas iegūtu pašreizējo vērtību.

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

Nākamajā piemērā vērtības saņemšanai tiek izmantots mainīgais intSearch.

Dim intSearch As Integer
Dim varX As Variant
intSearch = 1
varX = DLookup("[CompanyName]", "Shippers", _
"[ShipperID] = " & intSearch)
Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Office Insider programmai

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta aģentiem.

×