Struttura CDaoFieldInfo

La CDaoFieldInfo struttura contiene informazioni su un oggetto campo definito per gli oggetti DAO (Data Access Objects).

Nota

DAO è supportato tramite Office 2013. DAO 3.6 è la versione finale ed è considerata obsoleta.

Sintassi

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

Parametri

m_strName
Denomina in modo univoco l'oggetto campo. Per informazioni dettagliate, vedere l'argomento "Name Property" nella Guida di DAO.

m_nType
Valore che indica il tipo di dati del campo. Per informazioni dettagliate, vedere l'argomento "Type Property" nella Guida di DAO. Il valore di questa proprietà può essere uno dei seguenti:

  • dbBoolean Sì/No, uguale a TRUE/FALSE

  • dbByte Byte

  • dbInteger Corto

  • dbLong Lungo

  • dbCurrency Valuta; vedere Classe MFC COleCurrency

  • dbSingle Singolo

  • dbDouble Doppio

  • dbDate Data/ora; vedere classe MFC COleDateTime

  • dbText Testo; vedere CString della classe MFC

  • dbLongBinary Long Binary (oggetto OLE); potrebbe essere necessario usare la classe MFC CByteArray anziché la classe CLongBinary perché CByteArray è più completa e più facile da usare.

  • dbMemo Memo; vedere classe MFC CString

  • dbGUID Identificatore univoco globale/Identificatore univoco universale usato con chiamate di procedura remota. Per altre informazioni, vedere l'argomento "Type Property" nella Guida di DAO.

Nota

Non usare tipi di dati stringa per i dati binari. In questo modo i dati passano attraverso il livello di conversione Unicode/ANSI, con conseguente aumento del sovraccarico e probabilmente di conversione imprevista.

m_lSize
Valore che indica la dimensione massima, in byte, di un oggetto campo DAO che contiene testo o la dimensione fissa di un oggetto campo che contiene testo o valori numerici. Per informazioni dettagliate, vedere l'argomento "Proprietà dimensioni" nella Guida di DAO. Le dimensioni possono essere uno dei valori seguenti:

Type Dimensioni (byte) Descrizione
dbBoolean 1 byte Sì/No (uguale a True/False)
dbByte 1 Byte
dbInteger 2 Intero
dbLong 4 Lungo
dbCurrency 8 Valuta (COleCurrency)
dbSingle 4 Singola
dbDouble 8 Double
dbDate 8 Data/ora (COleDateTime)
dbText 1 - 255 Testo (CString)
dbLongBinary 0 Long Binary (oggetto OLE; CByteArray; usare invece di CLongBinary)
dbMemo 0 Memo (CString)
dbGUID 16 Identificatore univoco globale/Identificatore univoco universale usato con chiamate di procedura remota.

m_lAttributes
Specifica le caratteristiche di un oggetto campo contenuto da un oggetto tabledef, recordset, querydef o index. Il valore restituito può essere una somma di queste costanti, create con l'operatore OR bit per bit C++:The value returned can be a sum of these constants, created with the C++ bitwise-OR (|) operator:

  • dbFixedField La dimensione del campo è fissa (impostazione predefinita per i campi numerici).

  • dbVariableField La dimensione del campo è variabile (solo campi di testo).

  • dbAutoIncrField Il valore del campo per i nuovi record viene incrementato automaticamente a un intero lungo univoco che non può essere modificato. Supportato solo per le tabelle di database Microsoft Jet.

  • dbUpdatableField Il valore del campo può essere modificato.

  • dbDescending Il campo viene ordinato in ordine decrescente (Z - A o 100 - 0) (si applica solo a un oggetto field in un insieme Fields di un oggetto indice; in MFC, gli oggetti index sono stessi contenuti negli oggetti tabledef). Se si omette questa costante, il campo viene ordinato in ordine crescente (A - Z o 0 - 100) (impostazione predefinita).

Quando si controlla l'impostazione di questa proprietà, è possibile usare l'operatore AND bit per bit C++ (&) per verificare la presenza di un attributo specifico. Quando si impostano più attributi, è possibile combinarli combinando le costanti appropriate con l'operatore OR bit per bit (|). Per informazioni dettagliate, vedere l'argomento "Proprietà attributi" nella Guida di DAO.

m_nOrdinalPosition
Valore che specifica l'ordine numerico in cui si desidera visualizzare un campo rappresentato da un oggetto campo DAO rispetto ad altri campi. È possibile impostare questa proprietà con CDaoTableDef::CreateField. Per informazioni dettagliate, vedere l'argomento "Proprietà OrdinalPosition" nella Guida di DAO.

m_bRequired
Indica se un oggetto campo DAO richiede un valore diverso da Null. Se questa proprietà è TRUE, il campo non consente un valore Null. Se Required è impostato su FALSE, il campo può contenere valori Null e valori che soddisfano le condizioni specificate dalle impostazioni della proprietà AllowZeroLength e ValidationRule. Per informazioni dettagliate, vedere l'argomento "Proprietà obbligatoria" nella Guida di DAO. È possibile impostare questa proprietà per un tabledef con CDaoTableDef::CreateField.

m_bAllowZeroLength
Indica se una stringa vuota ("") è un valore valido di un oggetto campo DAO con un tipo di dati Text o Memo. Se questa proprietà è TRUE, una stringa vuota è un valore valido. È possibile impostare questa proprietà su FALSE per assicurarsi che non sia possibile utilizzare una stringa vuota per impostare il valore di un campo. Per informazioni dettagliate, vedere l'argomento "AllowZeroLength Property" nella Guida di DAO. È possibile impostare questa proprietà per un tabledef con CDaoTableDef::CreateField.

m_lCollatingOrder
Specifica la sequenza dell'ordinamento nel testo per il confronto o l'ordinamento delle stringhe. Per informazioni dettagliate, vedere l'argomento "Personalizzazione delle impostazioni del Registro di sistema di Windows per l'accesso ai dati" nella Guida di DAO. Per un elenco dei valori possibili restituiti, vedere il m_lCollatingOrder membro della struttura CDaoDatabaseInfo . È possibile impostare questa proprietà per un tabledef con CDaoTableDef::CreateField.

m_strForeignName
Valore che, in una relazione, specifica il nome dell'oggetto campo DAO in una tabella esterna che corrisponde a un campo in una tabella primaria. Per informazioni dettagliate, vedere l'argomento "ForeignName Property" nella Guida di DAO.

m_strSourceField
Indica il nome del campo che rappresenta l'origine originale dei dati per un oggetto campo DAO contenuto da un oggetto tabledef, recordset o querydef. Questa proprietà indica il nome del campo originale associato a un oggetto campo. Ad esempio, è possibile utilizzare questa proprietà per determinare l'origine originale dei dati in un campo di query il cui nome non è correlato al nome del campo nella tabella sottostante. Per informazioni dettagliate, vedere l'argomento "SourceField, SourceTable Properties" nella Guida di DAO. È possibile impostare questa proprietà per un tabledef con CDaoTableDef::CreateField.

m_strSourceTable
Indica il nome della tabella che rappresenta l'origine originale dei dati per un oggetto campo DAO contenuto da un oggetto tabledef, recordset o querydef. Questa proprietà indica il nome della tabella originale associato a un oggetto campo. Ad esempio, è possibile utilizzare questa proprietà per determinare l'origine originale dei dati in un campo di query il cui nome non è correlato al nome del campo nella tabella sottostante. Per informazioni dettagliate, vedere l'argomento "SourceField, SourceTable Properties" nella Guida di DAO. È possibile impostare questa proprietà per un tabledef con CDaoTableDef::CreateField.

m_strValidationRule
Valore che convalida i dati in un campo durante la modifica o l'aggiunta a una tabella. Per informazioni dettagliate, vedere l'argomento "ValidationRule Property" nella Guida di DAO. È possibile impostare questa proprietà per un tabledef con CDaoTableDef::CreateField.

Per informazioni correlate sulle tabledef, vedere il m_strValidationRule membro della struttura CDaoTableDefInfo .

m_strValidationText
Valore che specifica il testo del messaggio visualizzato dall'applicazione se il valore di un oggetto campo DAO non soddisfa la regola di convalida specificata dall'impostazione della proprietà ValidationRule. Per informazioni dettagliate, vedere l'argomento "Proprietà ValidationText" nella Guida di DAO. È possibile impostare questa proprietà per un tabledef con CDaoTableDef::CreateField.

m_strDefaultValue
Valore predefinito di un oggetto campo DAO. Quando viene creato un nuovo record, l'impostazione della proprietà DefaultValue viene immessa automaticamente come valore per il campo. Per informazioni dettagliate, vedere l'argomento "Proprietà DefaultValue" nella Guida di DAO. È possibile impostare questa proprietà per un tabledef con CDaoTableDef::CreateField.

Osservazioni:

I riferimenti a Primary, Secondary e All sopra indicano come le informazioni vengono restituite dalla GetFieldInfo funzione membro nelle classi CDaoTableDef, CDaoQueryDef e CDaoRecordset.

Gli oggetti Field non sono rappresentati da una classe MFC. Gli oggetti DAO sottostanti degli oggetti MFC delle classi seguenti contengono invece raccolte di oggetti campo: CDaoTableDef, CDaoRecordset e CDaoQueryDef. Queste classi forniscono funzioni membro per accedere ad alcuni singoli elementi di informazioni sul campo oppure è possibile accedervi tutti contemporaneamente con un CDaoFieldInfo oggetto chiamando la GetFieldInfo funzione membro dell'oggetto contenitore.

Oltre all'uso per esaminare le proprietà dell'oggetto, è anche possibile usare CDaoFieldInfo per costruire un parametro di input per la creazione di nuovi campi in un oggetto tabledef. Per questa attività sono disponibili opzioni più semplici, ma se si vuole un controllo più fine, è possibile usare la versione di CDaoTableDef::CreateField che accetta un CDaoFieldInfo parametro.

Le informazioni recuperate dalla GetFieldInfo funzione membro (della classe che contiene il campo) vengono archiviate in una CDaoFieldInfo struttura. Chiamare la GetFieldInfo funzione membro dell'oggetto contenitore nella cui raccolta Fields è archiviato l'oggetto field. CDaoFieldInfo definisce anche una Dump funzione membro nelle compilazioni di debug. È possibile usare Dump per eseguire il dump del contenuto di un CDaoFieldInfo oggetto .

Requisiti

Intestazione: afxdao.h

Vedi anche

Strutture, stili, callback e mappe messaggi
CDaoTableDef::GetFieldInfo
CDaoRecordset::GetFieldInfo
CDaoQueryDef::GetFieldInfo