Aracılığıyla paylaş


CDaoFieldInfo Yapısı

Yapı, CDaoFieldInfo veri erişim nesneleri (DAO) için tanımlanan bir alan nesnesi hakkında bilgi içerir.

Not

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

Sözdizimi

struct CDaoFieldInfo
{
    CString m_strName;           // Primary
    short m_nType;               // Primary
    long m_lSize;                // Primary
    long m_lAttributes;          // Primary
    short m_nOrdinalPosition;    // Secondary
    BOOL m_bRequired;            // Secondary
    BOOL m_bAllowZeroLength;     // Secondary
    long m_lCollatingOrder;      // Secondary
    CString m_strForeignName;    // Secondary
    CString m_strSourceField;    // Secondary
    CString m_strSourceTable;    // Secondary
    CString m_strValidationRule; // All
    CString m_strValidationText; // All
    CString m_strDefaultValue;   // All
};

Parametreler

m_strName
Alan nesnesini benzersiz olarak adlandırın. Ayrıntılar için DAO Yardımı'ndaki "Ad Özelliği" konusuna bakın.

m_nType
Alanın veri türünü gösteren değer. Ayrıntılar için DAO Yardımı'ndaki "Tür Özelliği" konusuna bakın. Bu özelliğin değeri aşağıdakilerden biri olabilir:

  • dbBoolean Evet/Hayır, DOĞRU/YANLIŞ ile aynı

  • dbByte Bayt

  • dbInteger Kısa

  • dbLong Uzun

  • dbCurrency Para birimi; bkz. MFC sınıfı COleCurrency

  • dbSingle Tek

  • dbDouble Çift

  • dbDate Tarih/Saat; bkz. MFC sınıfı COleDateTime

  • dbText Metin; bkz. MFC sınıfı CString

  • dbLongBinaryUzun İkili (OLE Nesnesi); daha zengin ve kullanımı daha kolay olduğu için CByteArray sınıf yerine CByteArray MFC sınıfını CLongBinary kullanmak isteyebilirsiniz.

  • dbMemo Kısa not; bkz. MFC sınıfı CString

  • dbGUID Uzak yordam çağrılarıyla kullanılan Genel Benzersiz Tanımlayıcı/Evrensel Olarak Benzersiz Tanımlayıcı. Daha fazla bilgi için DAO Yardımı'ndaki "Tür Özelliği" konusuna bakın.

Not

İkili veriler için dize veri türlerini kullanmayın. Bu, verilerinizin Unicode/ANSI çeviri katmanından geçmesine neden olur ve ek yükün artmasına ve muhtemelen beklenmeyen çeviriye neden olur.

m_lSize
Metin içeren bir DAO alan nesnesinin bayt cinsinden en büyük boyutunu veya metin veya sayısal değerler içeren bir alan nesnesinin sabit boyutunu gösteren değer. Ayrıntılar için DAO Yardımı'ndaki "Boyut Özelliği" konusuna bakın. Boyutlar aşağıdaki değerlerden biri olabilir:

Tür Boyut (Bayt) Açıklama
dbBoolean 1 bayt Evet/Hayır (Doğru/Yanlış ile aynı)
dbByte 1 Bayt
dbInteger 2 Tamsayı
dbLong 4 Uzun
dbCurrency 8 Para Birimi (COleCurrency)
dbSingle 4 Tekli
dbDouble 8 Çift
dbDate 8 Tarih/Saat (COleDateTime)
dbText 1 - 255 Metin (CString)
dbLongBinary 0 Uzun İkili (OLE Nesnesi; CByteArray; yerine CLongBinarykullanın )
dbMemo 0 Not (CString)
dbGUID 16 Uzak yordam çağrılarıyla kullanılan Genel Benzersiz Tanımlayıcı/Evrensel Olarak Benzersiz Tanımlayıcı.

m_lAttributes
Tablo tanımı, kayıt kümesi, sorgu tanımı veya dizin nesnesi tarafından bulunan bir alan nesnesinin özelliklerini belirtir. Döndürülen değer, C++ bit düzeyinde OR (|) işleciyle oluşturulan bu sabitlerin toplamı olabilir:

  • dbFixedField Alan boyutu sabittir (Sayısal alanlar için varsayılan).

  • dbVariableField Alan boyutu değişkendir (yalnızca Metin alanları).

  • dbAutoIncrField Yeni kayıtların alan değeri otomatik olarak değiştirilemeyen benzersiz bir uzun tamsayıya artırılır. Yalnızca Microsoft Jet veritabanı tabloları için desteklenir.

  • dbUpdatableField Alan değeri değiştirilebilir.

  • dbDescending Alan azalan düzende (Z - A veya 100 - 0) sıralanır (yalnızca bir dizin nesnesinin Fields koleksiyonundaki bir alan nesnesi için geçerlidir; MFC'de dizin nesneleri tabledef nesnelerinde yer alır). Bu sabiti atlarsanız, alan artan düzende (A - Z veya 0 - 100) sıralanır (varsayılan).

Bu özelliğin ayarını denetlerken, belirli bir özniteliği test etmek için C++ bit düzeyinde-AND işlecini (&) kullanabilirsiniz. Birden çok öznitelik ayarlarken, uygun sabitleri bit düzeyinde OR (|) işleciyle birleştirerek bunları birleştirebilirsiniz. Ayrıntılar için DAO Yardımı'ndaki "Öznitelik özelliği" konusuna bakın.

m_nOrdinalPosition
DAO alan nesnesiyle temsil edilen bir alanın diğer alanlara göre görüntülenmesini istediğiniz sayısal sırayı belirten değer. Bu özelliği CDaoTableDef::CreateField ile ayarlayabilirsiniz. Ayrıntılar için DAO Yardımı'ndaki "OrdinalPosition Özelliği" konusuna bakın.

m_bRequired
DAO alan nesnesinin Null olmayan bir değer gerekip gerektirmediğini gösterir. Bu özellik TRUE ise, alan Null değere izin vermez. Gerekli false olarak ayarlanırsa, alan Null değerlerin yanı sıra AllowZeroLength ve ValidationRule özellik ayarları tarafından belirtilen koşulları karşılayan değerler içerebilir. Ayrıntılar için DAO Yardımı'ndaki "Gerekli Özellik" konusuna bakın. CDaoTableDef::CreateField ile bir tabledef için bu özelliği ayarlayabilirsiniz.

m_bAllowZeroLength
Boş dizenin ("") Metin veya Not veri türüne sahip bir DAO alan nesnesinin geçerli bir değeri olup olmadığını gösterir. Bu özellik TRUE ise, boş bir dize geçerli bir değerdir. Bir alanın değerini ayarlamak için boş bir dize kullanamadığınızdan emin olmak için bu özelliği YANLIŞ olarak ayarlayabilirsiniz. Ayrıntılar için DAO Yardımı'ndaki "AllowZeroLength Özelliği" konusuna bakın. CDaoTableDef::CreateField ile bir tabledef için bu özelliği ayarlayabilirsiniz.

m_lCollatingOrder
Dize karşılaştırma veya sıralama için metindeki sıralama düzeninin sırasını belirtir. Ayrıntılar için DAO Yardımı'ndaki "Veri Erişimi için Windows Kayıt Defteri Ayarlarını Özelleştirme" konusuna bakın. Döndürülen olası değerlerin listesi için CDaoDatabaseInfo yapısının üyesine bakınm_lCollatingOrder. CDaoTableDef::CreateField ile bir tabledef için bu özelliği ayarlayabilirsiniz.

m_strForeignName
İlişkide, birincil tablodaki bir alana karşılık gelen yabancı bir tablodaki DAO alan nesnesinin adını belirten değer. Ayrıntılar için DAO Yardımı'ndaki "ForeignName Özelliği" konusuna bakın.

m_strSourceField
Tablo tanımı, kayıt kümesi veya sorgu tanımı nesnesi tarafından kapsanan bir DAO alan nesnesi için verilerin özgün kaynağı olan alanın adını gösterir. Bu özellik, bir alan nesnesiyle ilişkili özgün alan adını gösterir. Örneğin, adı temel tablodaki alanın adıyla ilgisi olmayan bir sorgu alanındaki verilerin özgün kaynağını belirlemek için bu özelliği kullanabilirsiniz. Ayrıntılar için DAO Yardımı'ndaki "SourceField, SourceTable Özellikleri" konusuna bakın. CDaoTableDef::CreateField ile bir tabledef için bu özelliği ayarlayabilirsiniz.

m_strSourceTable
Tablo tanımı, kayıt kümesi veya sorgu tanımı nesnesi tarafından bulunan bir DAO alan nesnesi için verilerin özgün kaynağı olan tablonun adını gösterir. Bu özellik, bir alan nesnesiyle ilişkili özgün tablo adını gösterir. Örneğin, adı temel tablodaki alanın adıyla ilgisi olmayan bir sorgu alanındaki verilerin özgün kaynağını belirlemek için bu özelliği kullanabilirsiniz. Ayrıntılar için DAO Yardımı'ndaki "SourceField, SourceTable Özellikleri" konusuna bakın. CDaoTableDef::CreateField ile bir tabledef için bu özelliği ayarlayabilirsiniz.

m_strValidationRule
Bir alandaki verileri değiştirildiğinde veya tabloya eklendiğinde doğrulayan bir değer. Ayrıntılar için DAO Yardımı'ndaki "ValidationRule Özelliği" konusuna bakın. CDaoTableDef::CreateField ile bir tabledef için bu özelliği ayarlayabilirsiniz.

Tablo tanımları hakkında ilgili bilgi için bkzm_strValidationRule. CDaoTableDefInfo yapısının üyesi.

m_strValidationText
Bir DAO alan nesnesinin değeri ValidationRule özellik ayarı tarafından belirtilen doğrulama kuralını karşılamıyorsa, uygulamanızın görüntülediği ileti metnini belirten değer. Ayrıntılar için DAO Yardımı'ndaki "ValidationText Özelliği" konusuna bakın. CDaoTableDef::CreateField ile bir tabledef için bu özelliği ayarlayabilirsiniz.

m_strDefaultValue
DAO alan nesnesinin varsayılan değeri. Yeni bir kayıt oluşturulduğunda, DefaultValue özellik ayarı otomatik olarak alanın değeri olarak girilir. Ayrıntılar için DAO Yardımı'ndaki "DefaultValue Özelliği" konusuna bakın. CDaoTableDef::CreateField ile bir tabledef için bu özelliği ayarlayabilirsiniz.

Açıklamalar

Birincil, İkincil ve Yukarıdaki Tümü'ne yapılan başvurular, bilgilerin CDaoTableDef, CDaoQueryDef ve CDaoRecordset sınıflarındaki üye işlevi tarafından GetFieldInfo nasıl döndürüldiğini gösterir.

Alan nesneleri bir MFC sınıfı tarafından temsil edilmez. Bunun yerine, aşağıdaki sınıfların MFC nesnelerini temel alan DAO nesneleri alan nesnelerinin koleksiyonlarını içerir: CDaoTableDef, CDaoRecordset ve CDaoQueryDef. Bu sınıflar, alan bilgilerinin bazı öğelerine erişmek için üye işlevleri sağlar veya içeren nesnenin GetFieldInfo üye işlevini çağırarak bir nesneyle bunların tümüne bir CDaoFieldInfo kerede erişebilirsiniz.

Nesne özelliklerini incelemek için kullanılmasının yanı sıra, tabledef içinde yeni alanlar oluşturmak için bir giriş parametresi oluşturmak için de kullanabilirsiniz CDaoFieldInfo . Bu görev için daha basit seçenekler kullanılabilir, ancak daha ayrıntılı denetim istiyorsanız, parametre CDaoFieldInfo alan CDaoTableDef::CreateField sürümünü kullanabilirsiniz.

Üye işlevi (alanı içeren sınıfın) tarafından GetFieldInfo alınan bilgiler bir CDaoFieldInfo yapıda depolanır. GetFieldInfo Fields koleksiyonu alan nesnesinin depolandığı içeren nesnenin üye işlevini çağırın. CDaoFieldInfo ayrıca hata ayıklama derlemelerinde bir Dump üye işlevi tanımlar. Bir CDaoFieldInfo nesnenin içeriğini dökümü için kullanabilirsinizDump.

Gereksinimler

Üstbilgi: afxdao.h

Ayrıca bkz.

Yapılar, Stiller, Geri Çağrılar ve İleti Eşlemeleri
CDaoTableDef::GetFieldInfo
CDaoRecordset::GetFieldInfo
CDaoQueryDef::GetFieldInfo