Datora Access bāzēs funkciju DLookup var izmantot, lai iegūtu 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ē.
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 arguments. Virknes izteiksme, ko izmanto, lai ierobežotu datu diapazonu, kuram tiek veikta funkcija DLookup . Piemēram, kritēriji bieži vien ir ekvivalenti klauzulai WHERE SQL izteiksmē bez vārda WHERE. Ja kritēriji ir izlaisti, funkcija DLookup novērtē expr attiecībā pret visu domēnu. Ikvienam kritērijā iekļautam laukam jābūt arī domēna laukam. pretējā gadījumā funkcija DLookup atgriež vērtību 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ī. Papildinformāciju par darbu ar VBA skatiet rakstā Access VBA atsauce.
Š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ādējādi tiek nodrošināts, lai katrā funkcijas DLookup izsaukšanas reizē Access saņemtu pašreizējo vērtību no vadīklas.
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)