Udostępnij za pośrednictwem


CDaoFieldInfo — Struktura

Struktura CDaoFieldInfo zawiera informacje o obiekcie pola zdefiniowanym dla obiektów dostępu do danych (DAO).

DaO jest obsługiwane za pośrednictwem pakietu Office 2013. DaO 3.6 jest wersją ostateczną i jest uważany za przestarzałą.

Składnia

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
};

Parametry

m_strName
Unikatowe nazwy obiektu pola. Aby uzyskać szczegółowe informacje, zobacz temat "Name Property" (Nazwa właściwości) w pomocy dao.

m_nType
Wartość wskazująca typ danych pola. Aby uzyskać szczegółowe informacje, zobacz temat "Typ właściwości" w pomocy dao. Wartość tej właściwości może być jedną z następujących wartości:

  • dbBoolean Tak/Nie, tak samo jak PRAWDA/FAŁSZ

  • dbByte Bajtów

  • dbInteger Krótki

  • dbLong Długi

  • dbCurrency Waluty; zobacz MFC, klasa COleCurrency

  • dbSingle Pojedynczy

  • dbDouble Podwójne

  • dbDate Data/godzina; zobacz MFC, klasa COleDateTime

  • dbText Tekst; zobacz MFC, klasa CString

  • dbLongBinary Długi plik binarny (obiekt OLE); Warto użyć klasy MFC CByteArray zamiast klasy CLongBinary , ponieważ CByteArray jest bogatsza i łatwiejsza w użyciu.

  • dbMemo Memo; zobacz MFC, klasa CString

  • dbGUID Globalnie unikatowy identyfikator/uniwersalny unikatowy identyfikator używany z zdalnymi wywołaniami procedur. Aby uzyskać więcej informacji, zobacz temat "Typ właściwości" w pomocy dao.

Uwaga

Nie używaj typów danych ciągów dla danych binarnych. Powoduje to przekazywanie danych przez warstwę tłumaczenia Unicode/ANSI, co zwiększa obciążenie i prawdopodobnie nieoczekiwane tłumaczenie.

m_lSize
Wartość wskazująca maksymalny rozmiar w bajtach obiektu pola DAO, który zawiera tekst lub stały rozmiar obiektu pola zawierającego wartości tekstowe lub liczbowe. Aby uzyskać szczegółowe informacje, zobacz temat "Size Property" (Właściwość rozmiaru) w pomocy dotyczącej języka DAO. Rozmiary mogą być jedną z następujących wartości:

Type Rozmiar (bajty) opis
dbBoolean 1 bajt Tak/Nie (tak samo jak prawda/fałsz)
dbByte 1 Byte
dbInteger 2 Integer
dbLong 4 Długi
dbCurrency 8 Waluta (COleCurrency)
dbSingle 4 Pojedynczy
dbDouble 8 Liczba rzeczywista
dbDate 8 Data/godzina (COleDateTime)
dbText 1 - 255 Tekst (CString)
dbLongBinary 0 Długi plik binarny (obiekt OLE; CByteArray; użyj zamiast CLongBinary)
dbMemo 0 Nota (CString)
dbGUID 16 Globalnie unikatowy identyfikator/uniwersalny unikatowy identyfikator używany z zdalnymi wywołaniami procedur.

m_lAttributes
Określa charakterystykę obiektu pola zawartego przez obiekt tabledef, recordset, querydef lub index. Zwrócona wartość może być sumą tych stałych utworzonych za pomocą operatora bitowego OR (|) języka C++:

  • dbFixedField Rozmiar pola jest stały (wartość domyślna dla pól liczbowych).

  • dbVariableField Rozmiar pola jest zmienny (tylko pola tekstowe).

  • dbAutoIncrField Wartość pola dla nowych rekordów jest automatycznie zwiększana do unikatowej długiej liczby całkowitej, której nie można zmienić. Obsługiwane tylko w przypadku tabel bazy danych Microsoft Jet.

  • dbUpdatableField Wartość pola można zmienić.

  • dbDescending Pole jest sortowane w kolejności malejącej (Z - A lub 100–0) (dotyczy tylko obiektu pola w kolekcji Pola obiektu indeksu; w MFC obiekty indeksu są same zawarte w obiektach tabledef). Jeśli pominięto tę stałą, pole jest sortowane w kolejności rosnącej (A – Z lub 0 – 100) (wartość domyślna).

Podczas sprawdzania ustawienia tej właściwości można użyć operatora bitowego I języka C++ (&), aby przetestować określony atrybut. Podczas ustawiania wielu atrybutów można je połączyć, łącząc odpowiednie stałe z operatorem bitowym OR (|). Aby uzyskać szczegółowe informacje, zobacz temat "Właściwości atrybutów" w pomocy dao.

m_nOrdinalPosition
Wartość określająca kolejność liczbową, w której ma być wyświetlane pole reprezentowane przez obiekt pola DAO względem innych pól. Tę właściwość można ustawić za pomocą obiektu CDaoTableDef::CreateField. Aby uzyskać szczegółowe informacje, zobacz temat "OrdinalPosition Property" in DAO Help (Pomoc dotycząca elementu DAO).

m_bRequired
Wskazuje, czy obiekt pola DAO wymaga wartości innej niż null. Jeśli ta właściwość ma wartość TRUE, pole nie zezwala na wartość Null. Jeśli ustawienie Wymagane ma wartość FALSE, pole może zawierać wartości null, a także wartości spełniające warunki określone przez ustawienia właściwości AllowZeroLength i ValidationRule. Aby uzyskać szczegółowe informacje, zobacz temat "Wymagana właściwość" w pomocy dao. Tę właściwość można ustawić dla definicji tabeli za pomocą CDaoTableDef::CreateField.

m_bAllowZeroLength
Wskazuje, czy pusty ciąg ("") jest prawidłową wartością obiektu pola DAO z typem danych Text lub Memo. Jeśli ta właściwość ma wartość TRUE, pusty ciąg jest prawidłową wartością. Dla tej właściwości można ustawić wartość FALSE, aby upewnić się, że nie można ustawić wartości pola przy użyciu pustego ciągu. Aby uzyskać szczegółowe informacje, zobacz temat "AllowZeroLength Property" (Właściwość AllowZeroLength) w pomocy dao. Tę właściwość można ustawić dla definicji tabeli za pomocą CDaoTableDef::CreateField.

m_lCollatingOrder
Określa sekwencję kolejności sortowania w tekście dla porównania lub sortowania ciągów. Aby uzyskać szczegółowe informacje, zobacz temat "Dostosowywanie rejestru systemu Windows Ustawienia na potrzeby dostępu do danych" w pomocy dao. Aby uzyskać listę zwracanych wartości, zobacz m_lCollatingOrder element członkowski struktury CDaoDatabaseInfo . Tę właściwość można ustawić dla definicji tabeli za pomocą CDaoTableDef::CreateField.

m_strForeignName
Wartość, która w relacji określa nazwę obiektu pola DAO w tabeli obcej, która odpowiada polu w tabeli podstawowej. Aby uzyskać szczegółowe informacje, zobacz temat "ForeignName Property" (Właściwość ForeignName) w pomocy dao.

m_strSourceField
Wskazuje nazwę pola, które jest oryginalnym źródłem danych dla obiektu pola DAO zawartego przez obiekt tabledef, recordset lub querydef. Ta właściwość wskazuje oryginalną nazwę pola skojarzona z obiektem pola. Można na przykład użyć tej właściwości, aby określić oryginalne źródło danych w polu zapytania, którego nazwa nie jest powiązana z nazwą pola w tabeli bazowej. Aby uzyskać szczegółowe informacje, zobacz temat "SourceField, SourceTable Properties" w pomocy dao. Tę właściwość można ustawić dla definicji tabeli za pomocą CDaoTableDef::CreateField.

m_strSourceTable
Wskazuje nazwę tabeli, która jest oryginalnym źródłem danych dla obiektu pola DAO zawartego przez obiekt tabledef, recordset lub querydef. Ta właściwość wskazuje oryginalną nazwę tabeli skojarzona z obiektem pola. Można na przykład użyć tej właściwości, aby określić oryginalne źródło danych w polu zapytania, którego nazwa nie jest powiązana z nazwą pola w tabeli bazowej. Aby uzyskać szczegółowe informacje, zobacz temat "SourceField, SourceTable Properties" w pomocy dao. Tę właściwość można ustawić dla definicji tabeli za pomocą CDaoTableDef::CreateField.

m_strValidationRule
Wartość, która weryfikuje dane w polu w miarę ich zmiany lub dodawania do tabeli. Aby uzyskać szczegółowe informacje, zobacz temat "ValidationRule Property" (Właściwość ValidationRule) w pomocy języka DAO. Tę właściwość można ustawić dla definicji tabeli za pomocą CDaoTableDef::CreateField.

Aby uzyskać powiązane informacje o definicjach tabeli, zobacz m_strValidationRule element członkowski struktury CDaoTableDefInfo .

m_strValidationText
Wartość określająca tekst komunikatu wyświetlanego przez aplikację, jeśli wartość obiektu pola DAO nie spełnia reguły poprawności określonej przez ustawienie właściwości ValidationRule. Aby uzyskać szczegółowe informacje, zobacz temat "ValidationText Property" (Właściwość ValidationText) w pomocy dao. Tę właściwość można ustawić dla definicji tabeli za pomocą CDaoTableDef::CreateField.

m_strDefaultValue
Wartość domyślna obiektu pola DAO. Po utworzeniu nowego rekordu ustawienie właściwości DefaultValue zostanie automatycznie wprowadzone jako wartość pola. Aby uzyskać szczegółowe informacje, zobacz temat "DefaultValue Property" (Właściwość DefaultValue) w pomocy dao. Tę właściwość można ustawić dla definicji tabeli za pomocą CDaoTableDef::CreateField.

Uwagi

Odwołania do primary, secondary i All powyżej wskazują, jak informacje są zwracane przez GetFieldInfo funkcję składową w klasach CDaoTableDef, CDaoQueryDef i CDaoRecordset.

Obiekty pól nie są reprezentowane przez klasę MFC. Zamiast tego obiekty DAO bazowe obiekty MFC następujących klas zawierają kolekcje obiektów pól: CDaoTableDef, CDaoRecordset i CDaoQueryDef. Klasy te dostarczają funkcje składowe, aby uzyskać dostęp do niektórych pojedynczych elementów informacji o polu lub można uzyskać do nich dostęp jednocześnie z obiektem CDaoFieldInfo przez wywołanie GetFieldInfo funkcji składowej zawierającego obiektu.

Poza jego użyciem do badania właściwości obiektu można również użyć CDaoFieldInfo do konstruowania parametru wejściowego do tworzenia nowych pól w definicji tabeli. Dla tego zadania są dostępne prostsze opcje, ale jeśli chcesz uzyskać dokładnszą kontrolę, możesz użyć wersji CDaoTableDef::CreateField , która przyjmuje CDaoFieldInfo parametr.

Informacje pobierane przez GetFieldInfo funkcję składową (klasy zawierającej pole) są przechowywane w CDaoFieldInfo strukturze. Wywołaj GetFieldInfo funkcję składową obiektu zawierającego w obiekcie, w którym kolekcja Fields jest przechowywany obiekt pola. CDaoFieldInfo Definiuje również funkcję składową Dump w kompilacjach debugowania. Możesz użyć Dump polecenia , aby zrzucić zawartość CDaoFieldInfo obiektu.

Wymagania

Nagłówek: afxdao.h

Zobacz też

Struktury, style, wywołania zwrotne i mapy komunikatów
CDaoTableDef::GetFieldInfo
CDaoRecordset::GetFieldInfo
CDaoQueryDef::GetFieldInfo