La estructura de CDaoFieldInfo tiene el siguiente formulario:
struct CDaoFieldInfo
{
nbsp; CString m_str&Name; / / Primario
m_nType corto; / / Primario
m_lSize largo; / / Primario
m_lAttributes largo; / / Primario
m_nOrdinalPosition corto; / / Secundario
BOOL m_bRequired; / / Secundario
BOOL m_bAllowZeroLength; / / Secundario
m_lCollatingOrder largo; / / Secundario
CString m_strForeignName; / / Secundario
CString m_strSourceField; / / Secundario
CString m_strSourceTable; / / Secundario
CString m_strValidationRule; / / Todos
CString m_strValidationText; / / Todos
CString m_strDefaultValue; / / Todos
}
La estructura de CDaoFieldInfo contiene información sobre un objeto de campo definido para data access objects (DAO). Las referencias a la primaria, secundaria y todos por encima de indican cómo la información es devuelto por la función de miembro de GetFieldInfo en las clases CDaoTableDef, CDaoQueryDefy CDaoRecordset.
Objetos de campo no están representados por una clase MFC. En su lugar, los objetos DAO MFC objetos de las clases siguientes subyacentes contienen colecciones de objetos field: CDaoTableDef, CDaoRecordsety CDaoQueryDef. Estas clases suministrar funciones miembro para acceder a algunos elementos individuales de información de campo, o puede acceder a ellos a la vez con un objeto de CDaoFieldInfo llamando a la función miembro GetFieldInfo del objeto que contiene.
Además de su uso para examinar las propiedades del objeto, también puede utilizar CDaoFieldInfo para crear un parámetro de entrada para crear nuevos campos en una definición de tabla. Existen opciones más simples para esta tarea, pero si desea un control más preciso, puede utilizar la versión de CDaoTableDef::CreateField que toma un parámetro CDaoFieldInfo.
Miembros
m_strName
Designa inequívocamente el objeto field. Para obtener más información, vea el tema "Propiedad Name" en la ayuda de DAO.
m_nType
Un valor que indica el tipo de datos del campo. Para obtener más información, vea el tema "Propiedad de tipo" en la ayuda de DAO. El valor de esta propiedad puede ser uno de los siguientes:
&Notanbsp; No utilizar tipos de datos de cadena para datos binarios. Esto hace que los datos pasar a través de la capa de traducción Unicode/ANSI, resultando en mayor sobrecarga y posiblemente inesperada traducción.
m_lSize
Un valor que indica el tamaño máximo en bytes de un objeto de campo DAO que contiene el texto o el tamaño de un objeto de campo que contiene valores de texto o numérico fijo. Para obtener más información, vea el tema "Propiedad de tamaño" en la ayuda de DAO. El tamaño puede ser uno de los siguientes valores:
| 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 | Moneda (COleCurrency) |
| dbSingle | 4 | Solo |
| dbDouble | 8 | Doble |
| dbDate | 8 | Hora (COleDateTime) |
| dbText | 1 - 255 | Texto (CString) |
| dbLongBinary | 0 | Binario largo (objeto OLE; CByteArray; utilizar en lugar de CLongBinary) |
| dbMemo | 0 | Memo (CString) |
| dbGUID | 16 | Un único identificador/universalmente identificador único global utilizado con llamadas a procedimiento remoto. |
m_lAttributes
Especifica las características de un objeto field contenida por un tabledef, recordset, querydef o un objeto index. El valor devuelto puede ser una suma de estas constantes, creado con el operador OR bit a bit (|) de C++:
&Al comprobar el valor de esta propiedad, puede utilizar C++ bit a bit- Y operador (amp;) para probar un atributo específico. Al establecer los atributos múltiples, se pueden combinar mediante la combinación de las constantes apropiadas con el operador OR bit a bit (|). Para obtener más información, vea el tema "La propiedad Attributes" en la ayuda de DAO.
m_nOrdinalPosition
Un valor que especifica el orden numérico en el que desea un campo representado por un objeto de campo DAO a mostrarse relativa a otros campos. Puede establecer esta propiedad con CDaoTableDef::CreateField. Para obtener más información, vea el tema "Propiedad OrdinalPosition" en la ayuda de DAO.
m_bRequired
Indica si un objeto DAO de campo requiere un valor no nulo. Si esta propiedad es TRUE, el campo no permite un valor Null. Si es necesario se establece en FALSE, el campo puede contener valores Null, así como valores que cumplan las condiciones especificadas por los valores de propiedad AllowZeroLength y ValidationRule. Para obtener más información, vea el tema "Requiere la propiedad" en la ayuda de DAO. Puede establecer esta propiedad para una definición de tabla con CDaoTableDef::CreateField.
m_bAllowZeroLength
Indica si una cadena vacía ("") es un valor válido de un objeto DAO de campo con un tipo de datos texto 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 puede usar una cadena vacía para establecer el valor de un campo. Para obtener más información, vea el tema "Propiedad AllowZeroLength" en la ayuda de DAO. Puede establecer esta propiedad para una definición de tabla con CDaoTableDef::CreateField.
m_lCollatingOrder
Especifica la secuencia de la orden en texto de comparación de cadenas o clasificación. Para obtener más información, vea el tema "Personalizar Windows Registry configuración para acceso a datos" en la ayuda de DAO. Para obtener una lista de los posibles valores devueltos, vea al miembro m_lCollatingOrder de la estructura CDaoDatabaseInfo . Puede establecer esta propiedad para una definición de tabla con CDaoTableDef::CreateField.
m_strForeignName
Un valor que, en una relación, especifica el nombre del objeto DAO de campo en una tabla externa que corresponde a un campo de una tabla principal. Para obtener más información, vea el tema "Propiedad de ForeignName" en la ayuda de DAO.
m_strSourceField
Indica el nombre del campo que es el origen de los datos de un objeto de campo DAO contenido por un tabledef, recordset o un objeto querydef. Esta propiedad indica el nombre de campo original asociado a un objeto de campo. Por ejemplo, podría utilizar esta propiedad para determinar el origen de los datos en un campo de consulta cuyo nombre está relacionado con el nombre del campo en la tabla subyacente. Para obtener más información, vea el tema "SourceField, SourceTable propiedades" en la ayuda de DAO. Puede establecer esta propiedad para una definición de tabla con CDaoTableDef::CreateField.
m_strSourceTable
Indica el nombre de la tabla que es el origen de los datos de un objeto de campo DAO contenido por un tabledef, recordset o un objeto querydef. Esta propiedad indica el nombre de tabla original asociado a un objeto de campo. Por ejemplo, podría utilizar esta propiedad para determinar el origen de los datos en un campo de consulta cuyo nombre está relacionado con el nombre del campo en la tabla subyacente. Para obtener más información, vea el tema "SourceField, SourceTable propiedades" en la ayuda de DAO. Puede establecer esta propiedad para una definición de tabla con CDaoTableDef::CreateField.
m_strValidationRule
Un valor que valida los datos de un campo que se cambia o se agrega a una tabla. Para obtener más información, vea el tema "Propiedad ValidationRule" en la ayuda de DAO. Puede establecer esta propiedad para una definición de tabla con CDaoTableDef::CreateField.
Para obtener información relacionada sobre definiciones de tabla, vea al miembro m_strValidationRule de la estructura de CDaoTableDefInfo.
m_strValidationText
Un valor que especifica el texto del mensaje que la aplicación se muestra si el valor de un objeto de campo DAO no cumplen la regla de validación especificada por la propiedad ValidationRule. Para obtener más información, vea el tema "Propiedad ValidationText" en la ayuda de DAO. Puede establecer esta propiedad para una definición de tabla con CDaoTableDef::CreateField.
m_strDefaultValue
El valor predeterminado de un objeto de campo DAO. Cuando se crea un nuevo registro, el valor de la propiedad DefaultValue se introduce automáticamente como el valor para el campo. Para obtener más información, vea el tema "Propiedad DefaultValue" en la ayuda de DAO. Puede establecer esta propiedad para una definición de tabla con CDaoTableDef::CreateField.
Comentarios
Información recuperada por la función de miembro de 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 de campos se almacena el objeto field. CDaoFieldInfo también define una función miembro de volcar en versiones de depuración. Puede utilizar volcado para volcar el contenido de un objeto de CDaoFieldInfo.
Para obtener información sobre el uso de esta y otras estructuras de información de DAO de MFC, vea el artículo colecciones DAO: obtener información acerca de objetos DAO en la Guía del programador de Visual C++.
Vea tambié&nnbsp;CDaoTableDef::GetFieldInfo, CDaoRecordset::GetFieldInfo, CDaoQueryDef::GetFieldInfo