Compartir a través de


CDaoFieldInfo (Estructura)

La estructura CDaoFieldInfo contiene información sobre un objeto de campo definido para objetos de acceso a datos (DAO).

DAO se admite mediante Office 2013. DAO 3.6 es la versión final y se considera obsoleta.

Sintaxis

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

Parámetros

m_strName
Asigna un nombre único al objeto de campo. Para más información, vea el tema "Name Property" (Propiedad name) en la Ayuda de DAO.

m_nType
Valor que indica el tipo de datos del campo. Para obtener detalles, vea el tema sobre la propiedad Name en la Ayuda de DAO. El valor de esta propiedad puede ser uno de los siguientes:

  • dbBoolean Sí/No, igual que TRUE/FALSE

  • dbByte Byte

  • dbInteger Short

  • dbLong Long

  • dbCurrency Currency; vea la clase MFC COleCurrency

  • dbSingle Single

  • dbDouble Double

  • dbDate Date/Time; vea la clase MFC COleDateTime

  • dbText Text; vea la clase MFC CString

  • dbLongBinary Long Binary (objeto OLE); es posible que quiera usar la clase MFC CByteArray en lugar de la clase CLongBinary, ya que CByteArray es más completa y fácil de usar.

  • dbMemo Memo; vea la clase MFC CString

  • dbGUID Identificador único global o identificador único universal que se usa con llamadas a procedimientos remotos. Para obtener más información, vea el tema sobre la propiedad Type en la Ayuda de DAO.

Nota:

No use tipos de datos de cadena con los datos binarios. Esto hace que los datos pasen a través de la capa de traducción Unicode/ANSI, lo que da lugar a una mayor sobrecarga y posiblemente a una traducción inesperada.

m_lSize
Valor que indica el tamaño máximo, en bytes, de un objeto de campo DAO que contiene texto, o el tamaño fijo de un objeto de campo que contiene texto o valores numéricos. Para obtener detalles, vea el tema sobre la propiedad Size en la Ayuda de DAO. Los tamaños pueden tener uno de los valores siguientes:

Tipo Tamaño (bytes) Descripción
dbBoolean 1 byte Sí/No (igual que True/False)
dbByte 1 Byte
dbInteger 2 Entero
dbLong 4 Largo
dbCurrency 8 Currency (COleCurrency)
dbSingle 4 Single
dbDouble 8 Doble
dbDate 8 Date/Time (COleDateTime)
dbText 1 - 255 Text (CString)
dbLongBinary 0 Long Binary (objeto OLE; CByteArray; se usa en lugar de CLongBinary)
dbMemo 0 Memo (CString)
dbGUID 16 Identificador único global o identificador único universal que se usa con llamadas a procedimientos remotos.

m_lAttributes
Especifica las características de un objeto de campo incluido en un objeto tabledef, recordset, querydef o index. El valor devuelto puede ser una suma de estas constantes, creada con el operador OR bit a bit (|) de C++:

  • dbFixedField El tamaño del campo es fijo (valor predeterminado para los campos numéricos).

  • dbVariableField El tamaño del campo es variable (solo campos de texto).

  • dbAutoIncrField El valor del campo de los nuevos registros se incrementa automáticamente a un entero largo único que no se puede cambiar. Solo se admite en tablas de base de datos de Microsoft Jet.

  • dbUpdatableField Se puede cambiar el valor del campo.

  • dbDescending El campo se ordena en orden descendente (Z - A o 100 - 0) (solo se aplica a un objeto de campo de una colección Fields de un objeto de índice; en MFC, los objetos de índice están incluidos en objetos tabledef). Si omite esta constante, el campo se ordena en orden ascendente (A - Z o 0 - 100) (valor predeterminado).

Al comprobar el valor de esta propiedad, puede usar el operador AND bit a bit (&) de C++ para probar un atributo específico. Al establecer varios atributos, puede combinarlos si combina las constantes adecuadas con el operador OR bit a bit (|). Para obtener detalles, vea el tema sobre la propiedad Attributes en la Ayuda de DAO.

m_nOrdinalPosition
Valor que especifica el orden numérico en el que quiere que un campo representado por un objeto de campo DAO se muestre en relación con otros campos. Puede establecer esta propiedad con CDaoTableDef::CreateField. Para obtener detalles, vea el tema sobre la propiedad OrdinalPosition en la Ayuda de DAO.

m_bRequired
Indica si un objeto de campo DAO necesita un valor distinto de NULL. Si esta propiedad es TRUE, el campo no permite un valor NULL. Si Required se establece en FALSE, el campo puede contener valores NULL, así como valores que cumplan las condiciones especificadas por los valores de las propiedades AllowZeroLength y ValidationRule. Para obtener detalles, vea el tema sobre la propiedad Required en la Ayuda de DAO. Puede establecer esta propiedad en un objeto tabledef con CDaoTableDef::CreateField.

m_bAllowZeroLength
Indica si una cadena vacía ("") es un valor válido de un objeto de campo DAO con un tipo de datos Text o Memo. Si esta propiedad es TRUE, una cadena vacía es un valor válido. Puede establecer esta propiedad en FALSE para garantizar que no se pueda usar una cadena vacía para establecer el valor de un campo. Para obtener detalles, vea el tema sobre la propiedad AllowZeroLength en la Ayuda de DAO. Puede establecer esta propiedad en un objeto tabledef con CDaoTableDef::CreateField.

m_lCollatingOrder
Especifica la secuencia del criterio de ordenación en el texto para la comparación u ordenación de cadenas. Para obtener detalles, vea el tema sobre la personalización de la configuración del Registro de Windows para el acceso a los datos en la Ayuda de DAO. Para obtener una lista de los posibles valores devueltos, vea el miembro m_lCollatingOrder de la estructura CDaoDatabaseInfo. Puede establecer esta propiedad en un objeto tabledef con CDaoTableDef::CreateField.

m_strForeignName
Valor que, en una relación, especifica el nombre del objeto de campo DAO de una tabla externa que corresponde a un campo de una tabla principal. Para obtener detalles, vea el tema sobre la propiedad ForeignName en la Ayuda de DAO.

m_strSourceField
Indica el nombre del campo que constituye el origen de los datos de un objeto de campo DAO incluido en un objeto tabledef, recordset o querydef. Esta propiedad indica el nombre del campo original asociado a un objeto de campo. Por ejemplo, podría usar esta propiedad para determinar el origen de los datos de un campo de consulta cuyo nombre no está relacionado con el nombre del campo en la tabla subyacente. Para obtener detalles, vea el tema sobre las propiedades SourceField y SourceTable en la Ayuda de DAO. Puede establecer esta propiedad en un objeto tabledef con CDaoTableDef::CreateField.

m_strSourceTable
Indica el nombre de la tabla que constituye el origen de los datos de un objeto de campo DAO incluido en un objeto tabledef, recordset o querydef. Esta propiedad indica el nombre de la tabla original asociado a un objeto de campo. Por ejemplo, podría usar esta propiedad para determinar el origen de los datos de un campo de consulta cuyo nombre no está relacionado con el nombre del campo en la tabla subyacente. Para obtener detalles, vea el tema sobre las propiedades SourceField y SourceTable en la Ayuda de DAO. Puede establecer esta propiedad en un objeto tabledef con CDaoTableDef::CreateField.

m_strValidationRule
Valor que valida los datos de un campo cuando cambia o se agrega a una tabla. Para obtener detalles, vea el tema sobre la propiedad ValidationRule en la Ayuda de DAO. Puede establecer esta propiedad en un objeto tabledef con CDaoTableDef::CreateField.

Para obtener información relacionada sobre objetos tabledef, vea el miembro m_strValidationRule de la estructura CDaoTableDefInfo.

m_strValidationText
Valor que especifica el texto del mensaje que muestra la aplicación si el valor de un objeto de campo DAO no satisface la regla de validación especificada por el valor de la propiedad ValidationRule. Para obtener detalles, vea el tema sobre la propiedad ValidationText en la Ayuda de DAO. Puede establecer esta propiedad en un objeto tabledef con CDaoTableDef::CreateField.

m_strDefaultValue
Valor predeterminado de un objeto de campo DAO. Cuando se crea un nuevo registro, el valor de la propiedad DefaultValue se especifica automáticamente como valor del campo. Para obtener detalles, vea el tema sobre la propiedad DefaultValue en la Ayuda de DAO. Puede establecer esta propiedad en un objeto tabledef con CDaoTableDef::CreateField.

Comentarios

Las referencias a Primary, Secondary y All indican cómo se devuelve la información mediante la función miembro GetFieldInfo en las clases CDaoTableDef, CDaoQueryDef y CDaoRecordset.

Los objetos de campo no se representan mediante una clase MFC, sino que los objetos DAO subyacentes a objetos MFC de las siguientes clases contienen colecciones de objetos de campo: CDaoTableDef, CDaoRecordset y CDaoQueryDef. Estas clases proporcionan funciones miembro para acceder a algunos elementos individuales de información de campo, o bien se puede acceder a todos ellos a la vez con un objeto CDaoFieldInfo si se llama a la función miembro GetFieldInfo del objeto contenedor.

Además de su uso para examinar las propiedades del objeto, también puede usar CDaoFieldInfo para construir un parámetro de entrada para crear nuevos campos en un objeto tabledef. Hay opciones más sencillas disponibles para esta tarea, pero si quiere un control más preciso, puede usar la versión de CDaoTableDef::CreateField que toma un parámetro CDaoFieldInfo.

La información recuperada por la función miembro GetFieldInfo (de la clase que contiene el campo) se almacena en una estructura CDaoFieldInfo. Llame a la función miembro GetFieldInfo del objeto contenedor en cuya colección Fields se almacena el objeto de campo. CDaoFieldInfo también define una función miembro Dump en las compilaciones de depuración. Puede usar Dump para volcar el contenido de un objeto CDaoFieldInfo.

Requisitos

Encabezado: afxdao.h

Consulte también

Estructuras, estilos, devoluciones de llamada y mapas de mensajes
CDaoTableDef::GetFieldInfo
CDaoRecordset::GetFieldInfo
CDaoQueryDef::GetFieldInfo