Clase CDaoRecordView
Una vista que muestra registros de una base de datos en controles.
Nota:
DAO se admite mediante Office 2013. DAO 3.6 es la versión final y se considera obsoleta.
Sintaxis
class AFX_NOVTABLE CDaoRecordView : public CFormView
Miembros
Constructores protegidos
Nombre | Descripción |
---|---|
CDaoRecordView::CDaoRecordView | Construye un objeto CDaoRecordView . |
Métodos públicos
Nombre | Descripción |
---|---|
CDaoRecordView::IsOnFirstRecord | Devuelve un valor distinto de cero si el registro actual es el primero del conjunto de registros asociado. |
CDaoRecordView::IsOnLastRecord | Devuelve un valor distinto de cero si el registro actual es el último del conjunto de registros asociado. |
CDaoRecordView::OnGetRecordset | Se usa para devolver un puntero a un objeto de una clase derivada de CDaoRecordset . ClassWizard invalida esta función de forma automática y crea el conjunto de registros si es necesario. |
CDaoRecordView::OnMove | Si se ha cambiado el registro actual, lo actualiza en el origen de datos y, a continuación, se mueve al registro especificado (siguiente, anterior, primero o último). |
Comentarios
La vista es una vista de formulario conectada directamente a un objeto CDaoRecordset
. La vista se crea a partir de un recurso de plantilla de diálogo y muestra los campos del objeto CDaoRecordset
en los controles de la plantilla de diálogo. El objeto CDaoRecordView
emplea el intercambio de datos de diálogo (DDX) y el intercambio de campos de registros DAO (DFX) para automatizar el movimiento de datos entre los controles del formulario y los campos del conjunto de registros. CDaoRecordView
también proporciona una implementación predeterminada para pasar al primer, siguiente, anterior o último registro y una interfaz para actualizar el registro actualmente en la vista.
Nota:
Las clases de base de datos DAO son distintas de las clases de base de datos MFC, basadas en la conectividad abierta de base de datos (ODBC). Todos los nombres de las clases de base de datos DAO tienen el prefijo "CDao". Sigue pudiendo acceder a orígenes de datos ODBC con las clases DAO; las clases DAO suelen ofrecer capacidades superiores porque usan el motor de base de datos de Microsoft Jet.
El Asistente para aplicaciones es el medio más habitual para crear vistas de registros. El Asistente para aplicaciones crea la clase de vista de registros y su clase de conjunto de registros asociada como parte de la aplicación de inicio del esqueleto.
El enfoque del Asistente para aplicaciones resultará más sencillo si solo necesita un único formulario. Con ClassWizard se puede decidir usar una vista de registros más adelante en el proceso de desarrollo. Si no se crea la clase de vista de registros con el Asistente para aplicaciones, puede hacerse más tarde con ClassWizard. Usar ClassWizard para crear una vista de registro y un conjunto de registros por separado y conectarlos a continuación es el enfoque más flexible, ya que ofrece más control al dar nombre a la clase de conjunto de registros y sus archivos .H/.CPP. Mediante este enfoque también es posible tener varias vistas de registro en la misma clase de conjunto de registros.
Para que los usuarios finales se desplacen con más facilidad de registro a registro en la vista de registros, el Asistente para aplicaciones crea recursos de menú, y de forma opcional una barra de herramientas, para moverse al primer, siguiente, anterior o último registro. Si creas una clase de vista de registros con ClassWizard, necesitas crear estos recursos usted mismo con el menú y los editores de mapa de bits.
Si deseas más información sobre la implementación predeterminada para desplazarte de registro a registro, consulta IsOnFirstRecord
, IsOnLastRecord
y el artículo Uso de una vista de registros, que se aplica tanto a CRecordView
como a CDaoRecordView
.
CDaoRecordView
hace un seguimiento de la posición del usuario en el conjunto de registros para que la vista de registros pueda actualizar la interfaz de usuario. Cuando el usuario se mueve al final del conjunto de registros, la vista de registros deshabilita los objetos de la interfaz de usuario (como los elementos de menú o los botones de la barra de herramientas) para moverse más lejos en la misma dirección.
Para obtener más información sobre cómo declarar y usar las clases de la vista de registros y los conjuntos de registros, consulte «Designing and Creating a Record View», (Diseño y creación de una vista de registros) en el artículo Record Views, (Vistas de registros). Para obtener más información sobre cómo funcionan las vistas de registros y cómo usarlas, consulta el artículo Uso de una vista de registros. Todos los artículos mencionados anteriormente se aplican a CRecordView
y CDaoRecordView
.
Jerarquía de herencia
CDaoRecordView
Requisitos
Encabezado: afxdao.h
CDaoRecordView::CDaoRecordView
Al crear un objeto de un tipo derivado de CDaoRecordView
, llame a cualquier tipo de constructor para inicializar objeto de vista e identificar el recurso de diálogo en el que se basa la vista.
explicit CDaoRecordView(LPCTSTR lpszTemplateName);
explicit CDaoRecordView(UINT nIDTemplate);
Parámetros
lpszTemplateName
Contiene una cadena terminada en null que es el nombre de un recurso de plantilla de diálogo.
nIDTemplate
Contiene el número de id. de un recurso de plantilla de diálogo.
Comentarios
Se puede identificar el recurso por nombre, (pasar una cadena como argumento al constructor), o por su id., (pasar un entero sin signo como argumento). Se recomienda usar un identificador de recurso.
Nota:
La clase derivada debe proporcionar su propio constructor. En el constructor de la clase derivada, llama al constructor CDaoRecordView::CDaoRecordView
con el nombre del recurso o el identificador como argumento.
CDaoRecordView::OnInitialUpdate
llama a CWnd::UpdateData
, que llama a CWnd::DoDataExchange
. Esta llamada inicial a DoDataExchange
conecta los controles CDaoRecordView
(indirectamente) a los miembros CDaoRecordset
de datos de campo creados por ClassWizard. Estos miembros de datos no se pueden usar hasta después de llamar a la función miembro de clase CFormView::OnInitialUpdate
base.
Nota:
Si se usa ClassWizard, el asistente define un enum
valor CDaoRecordView::IDD
, en la declaración de clase y lo usa en la lista de inicialización de miembros para el constructor.
CMyDaoRecordView::CMyDaoRecordView()
: CDaoRecordView(CMyDaoRecordView::IDD)
{
m_pSet = NULL;
// TODO: add construction code here
}
CDaoRecordView::IsOnFirstRecord
Llame a esta función miembro para determinar si el registro actual es el primero de los objetos del conjunto de registros asociados a esta vista de registro.
BOOL IsOnFirstRecord();
Valor devuelto
El valor es distinto a cero si el registro actual es el primero del conjunto de registros, de lo contario 0.
Comentarios
Esta función resulta útil para escribir sus propias implementaciones de controladores de actualización de comandos predeterminados que escribe ClassWizard.
Si el usuario se desplaza al primer registro, el marco desactiva cualquier objeto de la interfaz de usuario (por ejemplo, elementos de menú o botones de la barra de herramientas) que tengas para desplazarse al primer registro o al anterior.
CDaoRecordView::IsOnLastRecord
Llame a esta función miembro para determinar si el registro actual es el último de los objetos del conjunto de registros asociados a esta vista de registro.
BOOL IsOnLastRecord();
Valor devuelto
Es un valor distinto a cero si el registro actual es el último del conjunto de registros; de lo contario, 0.
Comentarios
Esta función resulta útil para escribir sus propias implementaciones de los controladores de actualización de comandos predeterminados que ClassWizard escribe para admitir una interfaz de usuario para pasar de registro a registro.
Precaución
Esta función ofrece resultados seguros, salvo que la vista tal vez no pueda detectar al final del conjunto de registros hasta que el usuario lo haya sobrepasado. El usuario debe ir más allá del último registro antes de que la vista de registro pueda indicar que deben deshabilitarse los objetos de la interfaz de usuario para pasar al siguiente registro o al último. Si el usuario va más allá del último registro y, a continuación, vuelve al último (o antes), la vista de registro puede seguir la posición del usuario en un conjunto de registros y deshabilitar los objetos de la interfaz de usuario correctamente.
CDaoRecordView::OnGetRecordset
Devuelve un puntero al objeto derivado de CDaoRecordset
asociado a la vista de registro.
virtual CDaoRecordset* OnGetRecordset() = 0;
Valor devuelto
Es un puntero a un objeto derivado de CDaoRecordset
si el objeto pudo crearse correctamente, en caso contrario un puntero nulo.
Comentarios
Debes invalidar esta función miembro para construir u obtener un objeto de conjunto de registros y devolverle un puntero. Si declara la clase de vista de registros con ClassWizard, el asistente escribe una invalidación predeterminada. La implementación predeterminada de ClassWizard devuelve el puntero de conjunto de registros almacenado en la vista de registros si existe uno. Si no es así, construye un objeto de conjunto de registros del tipo especificado con ClassWizard y llama a su función miembro Open
para abrir la tabla o ejecutar la consulta y, a continuación, devuelve un puntero al objeto.
Para obtener más información y ejemplos, vea el artículo Vistas de registro: Uso de una vista de registros.
CDaoRecordView::OnMove
Llame a esta función para desplazarse a un registro distinto en el conjunto de registros y mostrar sus campos en los controles de la vista de registro.
virtual BOOL OnMove(UINT nIDMoveCommand);
Parámetros
nIDMoveCommand
Uno de los siguientes valores de identificador de comando estándar:
ID_RECORD_FIRST: vaya al primer registro del conjunto de registros.
ID_RECORD_LAST: vaya al último registro del conjunto de registros.
ID_RECORD_NEXT: vaya al siguiente registro del conjunto de registros.
ID_RECORD_PREV: vaya al registro anterior del conjunto de registros.
Valor devuelto
Distinto de cero si el movimiento se realizó correctamente; de lo contrario, 0 si se denegó la solicitud de traslado.
Comentarios
La implementación predeterminada llama a la función miembro CDaoRecordset
adecuada del objeto asociado a la vista de registros.
De forma predeterminada, OnMove
actualiza el registro actual en el origen de datos si el usuario lo ha cambiado en la vista de registros.
El Asistente para aplicaciones crea un recurso de menú con los elementos de menú Primer registro, Último registro, Registro siguiente y Registro anterior. Si seleccionas la opción Barra de herramientas inicial, el Asistente para aplicaciones también crea una barra de herramientas con botones correspondientes a estos comandos.
Si se mueve más allá del último registro del conjunto de registros, la vista de registros continúa mostrando el último registro. Si se desplaza hacia atrás después del primer registro, la vista de registro continúa mostrando el primer registro.
Precaución
Al llamar a OnMove
se produce una excepción si el conjunto de registros no tiene registros. Llama a la función del controlador de actualización de la interfaz de usuario apropiada (OnUpdateRecordFirst
, OnUpdateRecordLast
, OnUpdateRecordNext
o OnUpdateRecordPrev
), antes de la operación de movimiento correspondiente para determinar si el controlador tiene registros.
Consulte también
CFormView (clase)
Gráfico de jerarquías
CDaoRecordset (clase)
CDaoTableDef (clase)
CDaoQueryDef (clase)
CDaoDatabase (clase)
CDaoWorkspace (clase)
CFormView (clase)