CDaoRecordView Sınıfı

Denetimlerde veritabanı kayıtlarını görüntüleyen bir görünüm.

Not

DAO, Office 2013 aracılığıyla desteklenir. DAO 3.6 son sürümdür ve eski olarak kabul edilir.

Sözdizimi

class AFX_NOVTABLE CDaoRecordView : public CFormView

Üyeler

Korumalı Oluşturucular

Veri Akışı Adı Açıklama
CDaoRecordView::CDaoRecordView Bir CDaoRecordView nesne oluşturur.

Genel Yöntemler

Veri Akışı Adı Açıklama
CDaoRecordView::IsOnFirstRecord Geçerli kayıt ilişkili kayıt kümesindeki ilk kayıtsa sıfır dışı döndürür.
CDaoRecordView::IsOnLastRecord Geçerli kayıt ilişkili kayıt kümesindeki son kayıtsa sıfır dışı döndürür.
CDaoRecordView::OnGetRecordset öğesinden CDaoRecordsettüretilmiş bir sınıfın nesnesine yönelik bir işaretçi döndürür. ClassWizard bu işlevi sizin için geçersiz kılar ve gerekirse kayıt kümesini oluşturur.
CDaoRecordView::OnMove Geçerli kayıt değiştiyse, veri kaynağında güncelleştirir, ardından belirtilen kayda geçer (sonraki, önceki, ilk veya son).

Açıklamalar

Görünüm, bir nesneye doğrudan bağlı bir CDaoRecordset form görünümüdür. Görünüm bir iletişim kutusu şablonu kaynağından oluşturulur ve iletişim kutusu şablonunun denetimlerinde nesnenin alanlarını CDaoRecordset görüntüler. nesnesi, CDaoRecordView formdaki denetimler ile kayıt kümesinin alanları arasında veri hareketini otomatikleştirmek için iletişim kutusu veri değişimi (DDX) ve DAO kayıt alanı değişimini (DFX) kullanır. CDaoRecordView ayrıca ilk, sonraki, önceki veya son kayda geçmek için varsayılan bir uygulama ve şu anda görünümde olan kaydı güncelleştirmek için bir arabirim sağlar.

Not

DAO veritabanı sınıfları, Açık Veritabanı Bağlantısı (ODBC) temelinde MFC veritabanı sınıflarından farklıdır. Tüm DAO veritabanı sınıf adları "CDao" ön ekini alır. DAO sınıfları ile ODBC veri kaynaklarına erişmeye devam edebilirsiniz; DAO sınıfları genellikle Microsoft Jet veritabanı altyapısını kullandıklarından üstün özellikler sunar.

Kayıt görünümünüzü oluşturmanın en yaygın yolu Uygulama Sihirbazı'dır. Uygulama Sihirbazı, iskelet başlangıç uygulamanızın bir parçası olarak hem kayıt görünümü sınıfını hem de ilişkili kayıt kümesi sınıfını oluşturur.

Tek bir forma ihtiyacınız varsa, Uygulama Sihirbazı yaklaşımı daha kolaydır. ClassWizard, geliştirme sürecinin ilerleyen bölümlerinde bir kayıt görünümü kullanmaya karar vermenizi sağlar. Kayıt görünümü sınıfını Uygulama Sihirbazı ile oluşturmazsanız, daha sonra ClassWizard ile oluşturabilirsiniz. Bir kayıt görünümünü ve kayıt kümesini ayrı ayrı oluşturmak ve sonra bunları bağlamak için ClassWizard kullanmak, kayıt kümesi sınıfını ve öğesini adlandırmada daha fazla denetim sağladığından en esnek yaklaşımdır. H/. CPP dosyaları. Bu yaklaşım aynı kayıt kümesi sınıfında birden çok kayıt görünümüne sahip olmanıza da olanak tanır.

Uygulama Sihirbazı, son kullanıcıların kayıt görünümünde kayıttan kayda geçmelerini kolaylaştırmak için ilk, sonraki, önceki veya son kayda geçmek için menü (ve isteğe bağlı olarak araç çubuğu) kaynakları oluşturur. ClassWizard ile bir kayıt görünümü sınıfı oluşturursanız, menü ve bit eşlem düzenleyicileri ile bu kaynakları kendiniz oluşturmanız gerekir.

Kayıttan kayda geçiş için varsayılan uygulama hakkında bilgi için ve hem hem IsOnLastRecord de CRecordView CDaoRecordViewiçin geçerli olan Kayıt Görünümü Kullanma makalesine bakınIsOnFirstRecord.

CDaoRecordView kayıt görünümünün kullanıcı arabirimini güncelleştirebilmesi için kullanıcının kayıt kümesindeki konumunu izler. Kullanıcı kayıt kümesinin herhangi bir sonuna geçtiğinde, kayıt görünümü kullanıcı arabirimi nesnelerini (menü öğeleri veya araç çubuğu düğmeleri gibi) aynı yönde daha fazla ilerlemek için devre dışı bırakır.

Kayıt görünümü ve kayıt kümesi sınıflarınızı bildirme ve kullanma hakkında daha fazla bilgi için, Kayıt Görünümleri makalesindeki "Kayıt Görünümü Tasarlama ve Oluşturma" makalesine bakın. Kayıt görünümlerinin nasıl çalıştığı ve nasıl kullanılacağı hakkında daha fazla bilgi için Kayıt Görünümü Kullanma makalesine bakın. Yukarıda bahsedilen tüm makaleler hem hem CDaoRecordViewde CRecordView için geçerlidir.

Devralma Hiyerarşisi

CObject

CCmdTarget

CWnd

CView

CScrollView

CFormView

CDaoRecordView

Gereksinimler

Üstbilgi: afxdao.h

CDaoRecordView::CDaoRecordView

türünden CDaoRecordViewtüretilmiş bir nesne oluşturduğunuzda, görünüm nesnesini başlatmak ve görünümün temel aldığı iletişim kutusu kaynağını tanımlamak için oluşturucunun herhangi bir biçimini çağırın.

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

Parametreler

lpszTemplateName
bir iletişim kutusu şablonu kaynağının adı olan null olarak sonlandırılan bir dize içerir.

nIDTemplate
İletişim kutusu şablonu kaynağının kimlik numarasını içerir.

Açıklamalar

Kaynağı ada göre (bir dizeyi oluşturucuya bağımsız değişken olarak geçir) veya kimliğine göre tanımlayabilirsiniz (bağımsız değişken olarak işaretsiz bir tamsayı geçirebilirsiniz). Kaynak kimliği kullanılması önerilir.

Not

Türetilmiş sınıfınız kendi oluşturucusunu sağlamalıdır. Türetilmiş sınıfınızın oluşturucusunda, kaynak adı veya kimliğiyle oluşturucuyu CDaoRecordView::CDaoRecordView bağımsız değişken olarak çağırın.

CDaoRecordView::OnInitialUpdate çağrısında CWnd::UpdateDatabulunur ve bu da öğesini çağırır CWnd::DoDataExchange. Bu ilk çağrıDoDataExchange, denetimleri (dolaylı olarak) ClassWizard tarafından oluşturulan alan veri üyelerine CDaoRecordset bağlarCDaoRecordView. Temel sınıf CFormView::OnInitialUpdate üye işlevi çağrılana kadar bu veri üyeleri kullanılamaz.

Not

ClassWizard kullanıyorsanız, sihirbaz sınıf bildiriminde bir enum değer CDaoRecordView::IDD tanımlar ve bunu oluşturucunun üye başlatma listesinde kullanır.

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

CDaoRecordView::IsOnFirstRecord

Geçerli kaydın bu kayıt görünümüyle ilişkilendirilmiş kayıt kümesi nesnesindeki ilk kayıt olup olmadığını belirlemek için bu üye işlevini çağırın.

BOOL IsOnFirstRecord();

Dönüş Değeri

Geçerli kayıt kayıt kümesindeki ilk kayıtsa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Bu işlev, ClassWizard tarafından yazılan varsayılan komut güncelleştirme işleyicilerinin kendi uygulamalarını yazmak için kullanışlıdır.

Kullanıcı ilk kayda geçerse, çerçeve ilk veya önceki kayda taşımak için sahip olduğunuz tüm kullanıcı arabirimi nesnelerini (örneğin, menü öğeleri veya araç çubuğu düğmeleri) devre dışı bırakır.

CDaoRecordView::IsOnLastRecord

Geçerli kaydın bu kayıt görünümüyle ilişkilendirilmiş kayıt kümesi nesnesindeki son kayıt olup olmadığını belirlemek için bu üye işlevini çağırın.

BOOL IsOnLastRecord();

Dönüş Değeri

Geçerli kayıt kayıt kümesindeki son kayıtsa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Bu işlev, ClassWizard'ın kayıttan kayda geçiş için bir kullanıcı arabirimini desteklemek üzere yazdığı varsayılan komut güncelleştirme işleyicilerinin kendi uygulamalarını yazmak için kullanışlıdır.

Dikkat

Bu işlevin sonucu güvenilirdir, ancak görünüm, kullanıcı kayıt kümesinin dışına taşınana kadar kayıt kümesinin sonunu algılayamayabilir. Kayıt görünümünün sonraki veya son kayda geçmek için tüm kullanıcı arabirimi nesnelerini devre dışı bırakması gerektiğini görebilmesi için kullanıcının son kaydın ötesine geçmesi gerekebilir. Kullanıcı son kaydı geçerse ve sonra son kayda (veya öncekine) geri taşınırsa, kayıt görünümü kullanıcının kayıt kümesindeki konumunu izleyebilir ve kullanıcı arabirimi nesnelerini doğru şekilde devre dışı bırakabilir.

CDaoRecordView::OnGetRecordset

Kayıt görünümüyle ilişkilendirilmiş türetilmiş nesneye bir işaretçi CDaoRecordsetdöndürür.

virtual CDaoRecordset* OnGetRecordset() = 0;

Dönüş Değeri

Nesne başarıyla oluşturulduysa türetilmiş nesne CDaoRecordsetişaretçisi; aksi takdirde NULL işaretçi.

Açıklamalar

Bir kayıt kümesi nesnesi oluşturmak veya almak ve buna bir işaretçi döndürmek için bu üye işlevini geçersiz kılmanız gerekir. ClassWizard ile kayıt görünümü sınıfınızı bildirirseniz sihirbaz sizin için varsayılan bir geçersiz kılma yazar. ClassWizard'ın varsayılan uygulaması, varsa kayıt görünümünde depolanan kayıt kümesi işaretçisini döndürür. Aksi takdirde ClassWizard ile belirttiğiniz türde bir kayıt kümesi nesnesi oluşturur ve üye işlevini çağırarak Open tabloyu açar veya sorguyu çalıştırır ve nesneye bir işaretçi döndürür.

Daha fazla bilgi ve örnek için Kayıt Görünümleri: Kayıt Görünümü Kullanma makalesine bakın.

CDaoRecordView::OnMove

Kayıt kümesindeki farklı bir kayda gitmek ve kayıt görünümünün denetimlerinde alanlarını görüntülemek için bu üye işlevini çağırın.

virtual BOOL OnMove(UINT nIDMoveCommand);

Parametreler

nIDMoveCommand
Aşağıdaki standart komut kimliği değerlerinden biri:

  • ID_RECORD_FIRST Kayıt kümesindeki ilk kayda gitme.

  • ID_RECORD_LAST Kayıt kümesindeki son kayda gitme.

  • ID_RECORD_NEXT Kayıt kümesinde sonraki kayda gitme.

  • ID_RECORD_PREV Kayıt kümesindeki önceki kayda gitme.

Dönüş Değeri

Taşıma başarılı olursa sıfır olmayan; aksi takdirde taşıma isteği reddedildiyse 0.

Açıklamalar

Varsayılan uygulama, kayıt görünümüyle ilişkili nesnenin CDaoRecordset uygun Move üye işlevini çağırır.

Varsayılan olarak, OnMove kullanıcı kayıt görünümünde değiştirdiyse veri kaynağındaki geçerli kaydı güncelleştirir.

Uygulama Sihirbazı, İlk Kayıt, Son Kayıt, Sonraki Kayıt ve Önceki Kayıt menü öğeleriyle bir menü kaynağı oluşturur. İlk Araç Çubuğu seçeneğini seçerseniz, Uygulama Sihirbazı bu komutlara karşılık gelen düğmeleri içeren bir araç çubuğu da oluşturur.

Kayıt kümesindeki son kaydı geçerseniz, kayıt görünümü son kaydı görüntülemeye devam eder. İlk kaydı geriye doğru taşırsanız, kayıt görünümü ilk kaydı görüntülemeye devam eder.

Dikkat

Kayıt kümesinde kayıt yoksa çağrısı OnMove özel durum oluşturur. Kayıt kümesinin herhangi bir kaydı olup olmadığını belirlemek için ilgili taşıma işleminden önce uygun kullanıcı arabirimi güncelleştirme işleyici işlevini çağırın( OnUpdateRecordFirst, OnUpdateRecordLast, OnUpdateRecordNextveya OnUpdateRecordPrev ).

Ayrıca bkz.

CFormView Sınıfı
Hiyerarşi Grafiği
CDaoRecordset Sınıfı
CDaoTableDef Sınıfı
CDaoQueryDef Sınıfı
CDaoDatabase Sınıfı
CDaoWorkspace Sınıfı
CFormView Sınıfı