A DFirst és a DLast függvénnyel egy véletlenszerű rekordot kaphat egy tábla vagy lekérdezés adott mezőjéből, ha egyszerűen csak az adott mező bármelyik értékére van szüksége. A DFirst és a DLast függvényt makrókban, modulokban, lekérdező kifejezésekben és űrlapok vagy jelentések számított vezérlőiben használhatja.
Szintaxis
DFirst( ** kifejezés; tartomány [, kritérium**] )
DLast( ** kifejezés, tartomány [, kritérium**] )
A DFirst és a DLast függvény a következő argumentumokkal rendelkezik:
| Argumentum | Leírás: |
|---|---|
| kif | Kötelező. Olyan kifejezés, amely azonosítja az első és az utolsó érték mezőjét. Lehet olyan karakterlánc-kifejezés, amely megadja egy tábla vagy lekérdezés egy mezőjét, vagy olyan kifejezés, amely a mezőben található adatokon elvégez egy számítást. A kifejezésben szerepeltetheti egy tábla mezőjének nevét, egy űrlap vezérlőelemét, állandót vagy függvényt. Ha a kifejezés függvényt tartalmaz, akkor az lehet beépített és felhasználó által megadott függvény is, de másik tartományösszesítő vagy összesítő SQL-függvény nem. |
| tartomány | Kötelező. Olyan karakterlánc-kifejezés, amely meghatározza a tartományt alkotó rekordok készletét. |
| kritérium | Nem kötelező. Olyan karakterlánc-kifejezés, amellyel megadja, hogy mely adatokra kell alkalmazni a DFirst vagy a DLast függvényt. A feltételek például gyakran egyenértékűek egy SQL-kifejezés WHERE záradékával a WHERE szó nélkül. Ha a feltételt nem adja meg, a DFirst és a DLast függvény a teljes tartományon értékeli ki a kifejezést . A feltételben szereplő mezőknek egyben a tartomány mezőinek is kell lenniük; ellenkező esetben a DFirst és a DLast függvény null értéket ad vissza. |
Megjegyzések
Megjegyzés
Ha egy rekordkészlet (tartomány) első vagy utolsó rekordját szeretné megkapni, hozzon létre egy növekvő vagy csökkenő sorrendben rendezett lekérdezést, és állítsa a Csúcsérték tulajdonságot 1 értékre. További információt a Csúcsérték tulajdonság témakörében olvashat. Visual Basic for Applications- (VBA) modulból ADO rekordhalmaz objektumot is létrehozhat, és a MoveFirst vagy a MoveLast metódus segítségével megkaphatja egy rekordkészlet első vagy utolsó rekordját.
Példák
| Expression (Kifejezés) | Eredmény: |
|---|---|
| SELECT DFirst("DateofSale","ProductSales") AS Expr1 FROM ProductSales GROUP BY DFirst("DateofSale","ProductSales"); | A "ProductSales" tábla "DateofSale" mezőjének véletlenszerű értékét adja eredményül. Ha a táblának van "elsődleges kulcsa", akkor a "DateofSale" mező "FIRST" értékét adja vissza az elsődleges kulcs növekvő sorrendje alapján. |
| SELECT DLast("DateofSale","ProductSales") AS FirstDis_ID FROM ProductSales GROUP BY DLast("DateofSale","ProductSales"); | A "ProductSales" tábla "DateofSale" mezőjének véletlenszerű értékét adja eredményül. Ha a táblának van "elsődleges kulcsa", akkor az elsődleges kulcs növekvő sorrendje alapján a "DateofSale" mező "LAST" értékét adja vissza. az első "ProductID" értékét adja vissza a "ProductSales" (Termékértékesítések) táblából, ahol a "Kedvezmény" értéke "0", és az eredmény a "FirstDis_ID" oszlopban jelenik meg. |
| SELECT DLast("ProductID","ProductSales","Discount=0") AS LastDis_ID FROM ProductSales GROUP BY DLast("ProductID","ProductSales","Discount=0"); | A "ProductSales" (Termékértékesítések) tábla utolsó "ProductID" értékét adja vissza, ahol a "Discount" (Árengedmény) értéke "0", és az eredmény a "LastDis_ID" oszlopban jelenik meg. |