CDaoFieldInfo (Estructura)
La estructura CDaoFieldInfo
contiene información sobre un objeto de campo definido para objetos de acceso a datos (DAO).
Nota:
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/FALSEdbByte
BytedbInteger
ShortdbLong
LongdbCurrency
Currency; vea la clase MFC COleCurrencydbSingle
SingledbDouble
DoubledbDate
Date/Time; vea la clase MFC COleDateTimedbText
Text; vea la clase MFC CStringdbLongBinary
Long Binary (objeto OLE); es posible que quiera usar la clase MFC CByteArray en lugar de la claseCLongBinary
, ya queCByteArray
es más completa y fácil de usar.dbMemo
Memo; vea la clase MFCCString
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 | Double |
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