Galite naudoti funkcijas DFirst ir DLast , kad grąžintumėte atsitiktinį įrašą iš tam tikro lentelės lauko arba užklausos, kai jums tiesiog reikia kokios nors reikšmės iš to lauko. Funkcijas DFirst ir DLast naudokite makrokomandoje, modulyje, užklausos reiškinyje arba formos arba ataskaitos skaičiavimų valdiklyje.
Sintaksė
DFirst( ** reiškinys, domenas [, kriterijai**] )
DLast( ** reiškinys, domenas [, kriterijai**] )
Funkcijos DFirst ir DLast turi tokius argumentus:
| Argumentas | Aprašymas |
|---|---|
| expr | Būtinas. Reiškinys, identifikuojantis lauką, iš kurio norite rasti pirmą arba paskutinę reikšmę. Tai gali būti eilutės reiškinys, identifikuojantis lauką lentelėje ar užklausoje, arba reiškinys, atliekantis duomenų skaičiavimus tame lauke. Išraiškoje galite įtraukti lentelės lauko pavadinimą, formos valdiklį, konstantą arba funkciją. Reiškinyje esanti funkcija gali būti įtaisytoji arba apibrėžta vartotojo, tačiau negali būti kito domeno agregavimo ar SQL agregavimo funkcija. |
| domenas | Būtinas. Eilutės reiškinys, identifikuojantis domeną sudarančių įrašų rinkinį. |
| kriterijai | Pasirinktinis. Eilutės reiškinys, naudojamas apriboti duomenų diapazoną, kuriame atliekama funkcija DFirst arba DLast . Pavyzdžiui, kriterijai dažnai yra sąlygos WHERE atitikmuo SQL užklausoje, be žodžio WHERE. Jei kriterijai praleisti, funkcijos DFirst ir DLast įvertina reiškinį pagal visą domeną. Bet koks kriterijus įtrauktas laukas taip pat turi būti domeno laukas; priešingu atveju funkcijos DFirst ir DLast grąžina Null. |
Pastabos
Pastaba
Jei norite grąžinti pirmą arba paskutinį įrašų rinkinio (domeno) įrašą, turite sukurti užklausą, surikiuotą didėjimo arba mažėjimo tvarka ir nustatyti ypatybę TopValues reikšmę 1. Daugiau informacijos žr. ypatybės TopValues temoje. "Visual Basic for Applications" (VBA) modulyje taip pat galite sukurti ADO įrašų rinkinio objektą ir naudoti metodus "MoveFirst " arba " MoveLast", kad būtų pateiktas pirmas arba paskutinis įrašų rinkinio įrašas.
Pavyzdžiai
| Išraiška | Rezultatai |
|---|---|
| SELECT DFirst("DateofSale","ProductSales") AS Expr1 FROM ProductSales GROUP BY DFirst("DateofSale","ProductSales"); | Grąžina atsitiktinę reikšmę iš lentelės "ProductSales" lauko "DateofSale". Jei lentelė turi pirminį raktą, ji grąžins pardavimo datos reikšmę "FIRST" pagal pirminio rakto didėjimo tvarką. |
| SELECT DLast("DateofSale","ProductSales") AS FirstDis_ID FROM ProductSales GROUP BY DLast("DateofSale","ProductSales"); | Grąžina atsitiktinę reikšmę iš lentelės "ProductSales" lauko "DateofSale". Jeigu lentelė turi pirminį raktą, ji grąžins pardavimo datos reikšmę LAST, remiantis pirminio rakto didėjimo tvarka. Grąžina pirmąjį "ProductID" iš lentelės "ProductSales", kur "Discount" reikšmė yra "0" ir rodo rezultatą stulpelyje "FirstDis_ID". |
| SELECT DLast("ProductID","ProductSales","Discount=0") AS LastDis_ID FROM ProductSales GROUP BY DLast("ProductID","ProductSales","Discount=0"); | Grąžina paskutinį "ProductID" iš lentelės "ProductSales", kur "Discount" reikšmė yra "0" ir rodo rezultatą stulpelyje "LastDis_ID". |