Bagikan melalui


Kelas CDaoRecordView

Tampilan yang menampilkan rekaman database dalam kontrol.

Sintaks

class AFX_NOVTABLE CDaoRecordView : public CFormView

Anggota

Konstruktor yang Dilindungi

Nama Deskripsi
CDaoRecordView::CDaoRecordView Membuat CDaoRecordView objek.

Metode Publik

Nama Deskripsi
CDaoRecordView::IsOnFirstRecord Mengembalikan bukan nol jika rekaman saat ini adalah rekaman pertama dalam kumpulan rekaman terkait.
CDaoRecordView::IsOnLastRecord Mengembalikan bukan nol jika rekaman saat ini adalah rekaman terakhir dalam kumpulan rekaman terkait.
CDaoRecordView::OnGetRecordset Mengembalikan penunjuk ke objek kelas yang berasal dari CDaoRecordset. ClassWizard mengambil alih fungsi ini untuk Anda dan membuat recordset jika perlu.
CDaoRecordView::OnMove Jika rekaman saat ini telah berubah, perbarui pada sumber data, lalu berpindah ke rekaman yang ditentukan (berikutnya, sebelumnya, pertama, atau terakhir).

Keterangan

Tampilan adalah tampilan formulir yang terhubung langsung ke CDaoRecordset objek. Tampilan dibuat dari sumber daya templat dialog dan menampilkan bidang CDaoRecordset objek dalam kontrol templat dialog. Objek CDaoRecordView menggunakan pertukaran data dialog (DDX) dan pertukaran bidang rekaman DAO (DFX) untuk mengotomatiskan pergerakan data antara kontrol pada formulir dan bidang kumpulan rekaman. CDaoRecordView juga menyediakan implementasi default untuk pindah ke rekaman pertama, berikutnya, sebelumnya, atau terakhir dan antarmuka untuk memperbarui rekaman yang saat ini terlihat.

Catatan

Kelas database DAO berbeda dari kelas database MFC berdasarkan Open Database Koneksi ivity (ODBC). Semua nama kelas database DAO memiliki awalan "CDao". Anda masih dapat mengakses sumber data ODBC dengan kelas DAO; kelas DAO umumnya menawarkan kemampuan unggul karena menggunakan mesin database Microsoft Jet.

Cara paling umum untuk membuat tampilan catatan Anda adalah dengan Panduan Aplikasi. Application Wizard membuat kelas tampilan rekaman dan kelas recordset terkait sebagai bagian dari aplikasi pemula kerangka Anda.

Jika Anda hanya memerlukan satu formulir, pendekatan Application Wizard lebih mudah. ClassWizard memungkinkan Anda memutuskan untuk menggunakan tampilan rekaman nanti dalam proses pengembangan. Jika Anda tidak membuat kelas tampilan rekaman dengan Panduan Aplikasi, Anda bisa membuatnya nanti dengan ClassWizard. Menggunakan ClassWizard untuk membuat tampilan rekaman dan recordset secara terpisah dan kemudian menghubungkannya adalah pendekatan yang paling fleksibel karena memberi Anda lebih banyak kontrol dalam menamai kelas recordset dan . H/. File CPP. Pendekatan ini juga memungkinkan Anda memiliki beberapa tampilan rekaman pada kelas recordset yang sama.

Untuk memudahkan pengguna akhir berpindah dari rekaman ke rekaman dalam tampilan rekaman, Panduan Aplikasi membuat sumber daya menu (dan toolbar opsional) untuk berpindah ke rekaman pertama, berikutnya, sebelumnya, atau terakhir. Jika Anda membuat kelas tampilan rekaman dengan ClassWizard, Anda perlu membuat sumber daya ini sendiri dengan editor menu dan bitmap.

Untuk informasi tentang implementasi default untuk berpindah dari rekaman ke rekaman, lihat IsOnFirstRecord dan IsOnLastRecord artikel Menggunakan Tampilan Catatan, yang berlaku untuk dan CRecordViewCDaoRecordView.

CDaoRecordView melacak posisi pengguna di kumpulan rekaman sehingga tampilan rekaman dapat memperbarui antarmuka pengguna. Saat pengguna berpindah ke salah satu akhir kumpulan rekaman, tampilan rekaman menonaktifkan objek antarmuka pengguna — seperti item menu atau tombol toolbar — untuk bergerak lebih jauh ke arah yang sama.

Untuk informasi selengkapnya tentang mendeklarasikan dan menggunakan tampilan rekaman dan kelas recordset Anda, lihat "Mendesain dan Membuat Tampilan Rekaman" dalam artikel Tampilan Rekaman. Untuk informasi selengkapnya tentang cara kerja tampilan rekaman dan cara menggunakannya, lihat artikel Menggunakan Tampilan Catatan. Semua artikel yang disebutkan di atas berlaku untuk dan CRecordViewCDaoRecordView.

Hierarki Warisan

CObject

CCmdTarget

CWnd

CView

CScrollView

CFormView

CDaoRecordView

Persyaratan

Header: afxdao.h

CDaoRecordView::CDaoRecordView

Saat Anda membuat objek jenis yang berasal dari CDaoRecordView, panggil salah satu bentuk konstruktor untuk menginisialisasi objek tampilan dan mengidentifikasi sumber daya dialog tempat tampilan berada.

explicit CDaoRecordView(LPCTSTR lpszTemplateName);
explicit CDaoRecordView(UINT nIDTemplate);

Parameter

lpszTemplateName
Berisi string yang dihentikan null yang merupakan nama sumber daya templat dialog.

nIDTemplate
Berisi nomor ID sumber daya templat dialog.

Keterangan

Anda dapat mengidentifikasi sumber daya berdasarkan nama (meneruskan string sebagai argumen ke konstruktor) atau dengan ID-nya (meneruskan bilangan bulat yang tidak ditandatangani sebagai argumen). Sebaiknya gunakan ID sumber daya.

Catatan

Kelas turunan Anda harus menyediakan konstruktornya sendiri. Di konstruktor kelas turunan Anda, panggil konstruktor CDaoRecordView::CDaoRecordView dengan nama sumber daya atau ID sebagai argumen.

CDaoRecordView::OnInitialUpdateCWnd::UpdateDatamemanggil , yang memanggil CWnd::DoDataExchange. Panggilan awal ini untuk DoDataExchange menyambungkan CDaoRecordView kontrol (secara tidak langsung) ke CDaoRecordset anggota data bidang yang dibuat oleh ClassWizard. Anggota data ini tidak dapat digunakan sampai setelah Anda memanggil fungsi anggota kelas CFormView::OnInitialUpdate dasar.

Catatan

Jika Anda menggunakan ClassWizard, wizard menentukan enum nilai CDaoRecordView::IDD dalam deklarasi kelas dan menggunakannya dalam daftar inisialisasi anggota untuk konstruktor.

CMyDaoRecordView::CMyDaoRecordView()
    : CDaoRecordView(CMyDaoRecordView::IDD)
{
   m_pSet = NULL;
   // TODO: add construction code here
}

CDaoRecordView::IsOnFirstRecord

Panggil fungsi anggota ini untuk menentukan apakah rekaman saat ini adalah rekaman pertama dalam objek kumpulan rekaman yang terkait dengan tampilan rekaman ini.

BOOL IsOnFirstRecord();

Tampilkan Nilai

Bukan nol jika rekaman saat ini adalah rekaman pertama dalam kumpulan rekaman; jika tidak, 0.

Keterangan

Fungsi ini berguna untuk menulis implementasi Anda sendiri dari handler pembaruan perintah default yang ditulis oleh ClassWizard.

Jika pengguna berpindah ke rekaman pertama, kerangka kerja menonaktifkan objek antarmuka pengguna apa pun (misalnya, item menu atau tombol toolbar) yang Anda miliki untuk pindah ke rekaman pertama atau sebelumnya.

CDaoRecordView::IsOnLastRecord

Panggil fungsi anggota ini untuk menentukan apakah rekaman saat ini adalah rekaman terakhir dalam objek kumpulan rekaman yang terkait dengan tampilan rekaman ini.

BOOL IsOnLastRecord();

Tampilkan Nilai

Bukan nol jika rekaman saat ini adalah rekaman terakhir dalam kumpulan rekaman; jika tidak, 0.

Keterangan

Fungsi ini berguna untuk menulis implementasi Anda sendiri dari handler pembaruan perintah default yang ditulis ClassWizard untuk mendukung antarmuka pengguna untuk berpindah dari rekaman ke rekaman.

Perhatian

Hasil dari fungsi ini dapat diandalkan kecuali bahwa tampilan mungkin tidak dapat mendeteksi akhir kumpulan rekaman sampai pengguna telah melewatinya. Pengguna mungkin harus bergerak melampaui rekaman terakhir sebelum tampilan rekaman dapat mengetahui bahwa pengguna harus menonaktifkan objek antarmuka pengguna untuk pindah ke rekaman berikutnya atau terakhir. Jika pengguna bergerak melewati rekaman terakhir lalu berpindah kembali ke rekaman terakhir (atau sebelum itu), tampilan rekaman dapat melacak posisi pengguna di kumpulan rekaman dan menonaktifkan objek antarmuka pengguna dengan benar.

CDaoRecordView::OnGetRecordset

Mengembalikan penunjuk ke CDaoRecordsetobjek -turunan yang terkait dengan tampilan rekaman.

virtual CDaoRecordset* OnGetRecordset() = 0;

Tampilkan Nilai

Penunjuk ke CDaoRecordsetobjek -turunan jika objek berhasil dibuat; jika tidak, penunjuk NULL.

Keterangan

Anda harus mengambil alih fungsi anggota ini untuk membangun atau mendapatkan objek recordset dan mengembalikan penunjuk ke dalamnya. Jika Anda mendeklarasikan kelas tampilan rekaman Anda dengan ClassWizard, wizard akan menulis penimpaan default untuk Anda. Implementasi default ClassWizard mengembalikan penunjuk recordset yang disimpan dalam tampilan rekaman jika ada. Jika tidak, ini membangun objek kumpulan rekaman dari jenis yang Anda tentukan dengan ClassWizard dan memanggil fungsi anggotanya Open untuk membuka tabel atau menjalankan kueri, lalu mengembalikan penunjuk ke objek.

Untuk informasi dan contoh selengkapnya, lihat artikel Tampilan Rekaman: Menggunakan Tampilan Rekaman.

CDaoRecordView::OnMove

Panggil fungsi anggota ini untuk berpindah ke rekaman lain di kumpulan rekaman dan tampilkan bidangnya di kontrol tampilan rekaman.

virtual BOOL OnMove(UINT nIDMoveCommand);

Parameter

nIDMoveCommand
Salah satu nilai ID perintah standar berikut:

  • ID_RECORD_FIRST Pindah ke rekaman pertama dalam kumpulan rekaman.

  • ID_RECORD_LAST Pindahkan ke rekaman terakhir dalam kumpulan rekaman.

  • ID_RECORD_NEXT Pindah ke rekaman berikutnya di kumpulan rekaman.

  • ID_RECORD_PREV Pindah ke rekaman sebelumnya di kumpulan rekaman.

Tampilkan Nilai

Bukan nol jika pemindahan berhasil; jika tidak, 0 jika permintaan pemindahan ditolak.

Keterangan

Implementasi default memanggil fungsi Pindahkan anggota objek yang sesuai yang CDaoRecordset terkait dengan tampilan rekaman.

Secara default, OnMove memperbarui rekaman saat ini pada sumber data jika pengguna telah mengubahnya dalam tampilan rekaman.

Panduan Aplikasi membuat sumber daya menu dengan item menu Rekaman Pertama, Rekaman Terakhir, Rekaman Berikutnya, dan Rekaman Sebelumnya. Jika Anda memilih opsi Bilah Alat Awal, Wizard Aplikasi juga membuat toolbar dengan tombol yang sesuai dengan perintah ini.

Jika Anda memindahkan rekaman terakhir di kumpulan rekaman, tampilan rekaman akan terus menampilkan rekaman terakhir. Jika Anda bergerak mundur melewati rekaman pertama, tampilan rekaman akan terus menampilkan rekaman pertama.

Perhatian

OnMove Panggilan melemparkan pengecualian jika kumpulan rekaman tidak memiliki rekaman. Panggil fungsi handler pembaruan antarmuka pengguna yang sesuai — OnUpdateRecordFirst, , OnUpdateRecordNextOnUpdateRecordLast, atau OnUpdateRecordPrev — sebelum operasi pemindahan yang sesuai untuk menentukan apakah set rekaman memiliki rekaman apa pun.

Baca juga

Kelas CFormView
Bagan Hierarki
Kelas CDaoRecordset
Kelas CDaoTableDef
Kelas CDaoQueryDef
Kelas CDaoDatabase
Kelas CDaoWorkspace
Kelas CFormView