Fungsi DFirst, DLast

Berlaku Untuk
Access untuk Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Anda bisa menggunakan fungsi DFirst dan DLast untuk mengembalikan rekaman acak dari bidang tertentu dalam tabel atau kueri saat Anda hanya membutuhkan nilai apa pun dari bidang tersebut. Gunakan fungsi DFirst dan DLast dalam makro, modul, ekspresi kueri, atau kontrol terhitung pada formulir atau laporan.

Sintaks

DFirst( ** expr, domain [, criteria**] )

DLast( ** expr, domain [, criteria**] )

Fungsi DFirst dan DLast memiliki argumen ini:

Argumen Deskripsi
ekspr Diperlukan. Ekspresi yang mengidentifikasi bidang tempat Anda ingin menemukan nilai pertama atau terakhir. Ekspresi string dapat berupa ekspresi string yang mengidentifikasi bidang dalam tabel atau kueri, atau ekspresi yang melakukan penghitungan pada data dalam bidang tersebut. Dalam ekspr, Anda bisa menyertakan nama bidang dalam tabel, kontrol pada formulir, konstanta, atau fungsi. Jika expr menyertakan fungsi, bisa berupa fungsi agregat bawaan atau yang ditentukan pengguna, tetapi bukan fungsi agregat domain lain atau Agregat SQL.
domain Diperlukan. Ekspresi string yang mengidentifikasi sekumpulan rekaman yang membentuk domain.
criteria Opsional. Ekspresi string yang digunakan untuk membatasi rentang data tempat fungsi DFirst atau DLast dijalankan. Misalnya, kriteria sering kali sama dengan klausul WHERE dalam ekspresi SQL, tanpa kata WHERE. Jika kriteria dihilangkan, fungsi DFirst dan DLast mengevaluasi expr terhadap seluruh domain. Bidang apa pun yang disertakan dalam kriteria juga harus bidang dalam domain; jika tidak, fungsi DFirst dan DLast mengembalikan Null.

Keterangan

Catatan

Jika Anda ingin mengembalikan rekaman pertama atau terakhir dalam sekumpulan rekaman (domain), Anda harus membuat kueri yang diurutkan sebagai naik atau turun dan mengatur properti TopValues ke 1. Untuk informasi selengkapnya, lihat topik properti TopValues . Dari modul Visual Basic for Applications (VBA), Anda juga dapat membuat objek ADO Recordset dan menggunakan metode MoveFirst atau MoveLast untuk mengembalikan rekaman pertama atau terakhir dalam sekumpulan rekaman.

Contoh

Ekspresi Hasil
SELECT DFirst("DateofSale","ProductSales") AS Expr1 FROM ProductSales GROUP BY DFirst("DateofSale","ProductSales"); Mengembalikan nilai acak dari bidang "DateofSale" tabel "ProductSales". Jika tabel memiliki "kunci utama", tabel akan mengembalikan nilai "PERTAMA" dari "DateofSale" berdasarkan urutan naik kunci primer.
SELECT DLast("DateofSale","ProductSales") AS FirstDis_ID FROM ProductSales GROUP BY DLast("DateofSale","ProductSales"); Mengembalikan nilai acak dari bidang "DateofSale" tabel "ProductSales". Jika tabel memiliki "kunci utama", tabel akan mengembalikan nilai "LAST" dari "DateofSale" berdasarkan urutan naik kunci primer. mengembalikan "IDProduk" Pertama dari Tabel "ProductSales" di mana nilai "Diskon" adalah "0" dan menampilkan hasil dalam kolom "FirstDis_ID".
SELECT DLast("ProductID","ProductSales","Discount=0") AS LastDis_ID FROM ProductSales GROUP BY DLast("ProductID","ProductSales","Discount=0"); Mengembalikan "IDProduk" terakhir dari Tabel "ProductSales" di mana nilai "Diskon" adalah "0" dan menampilkan hasil dalam kolom "LastDis_ID".