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 |
expr |
Diperlukan. Ekspresi yang mengidentifikasi bidang tempat Anda ingin menemukan nilai pertama atau terakhir. Ini bisa berupa ekspresi string mengidentifikasi bidang dalam tabel atau kueri, atau ekspresi yang melakukan penghitungan pada data di bidang itu. Di expr, Anda bisa menyertakan nama bidang dalam tabel, kontrol pada formulir, konstanta, atau fungsi. Jika expr menyertakan suatu fungsi, itu bisa berupa bawaan atau ditetapkan pengguna, tapi tidak domain lain SQL agregat atau fungsi 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". |