Partilhar via


CDaoRecordView Class

Observação

A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Um modo de exibição que exibe registros de banco de dados em controles.

Observação

DAO é suportado através do Office 2013. O DAO 3.6 é a versão final, e é considerado obsoleto.

Sintaxe

class AFX_NOVTABLE CDaoRecordView : public CFormView

Membros

Construtores Protegidos

Nome Description
CDaoRecordView::CDaoRecordView Constrói um CDaoRecordView objeto.

Métodos Públicos

Nome Description
CDaoRecordView::IsOnFirstRecord Retorna diferente de zero se o registo atual for o primeiro registo no conjunto de registos associado.
CDaoRecordView::IsOnLastRecord Retorna diferente de zero se o registo atual for o último registo no conjunto de registos associado.
CDaoRecordView::OnGetRecordset Devolve um ponteiro para um objeto de uma classe derivada de CDaoRecordset. O ClassWizard sobrepõe esta função por si e cria o conjunto de registos se necessário.
CDaoRecordView::OnMove Se o registo atual mudou, atualiza-o na fonte de dados e depois passa para o registo especificado (próximo, anterior, primeiro ou último).

Observações

A vista é uma vista de forma diretamente ligada a um CDaoRecordset objeto. A vista é criada a partir de um recurso de template de diálogo e apresenta os campos do CDaoRecordset objeto nos controlos do template de diálogo. O CDaoRecordView objeto utiliza a troca de dados de diálogo (DDX) e a troca de campos de registos DAO (DFX) para automatizar o movimento de dados entre os controlos no formulário e os campos do conjunto de registos. CDaoRecordView também fornece uma implementação padrão para mover para o primeiro, próximo, anterior ou último registo e uma interface para atualizar o registo atualmente em vista.

Observação

As classes de base de dados DAO são distintas das classes de base de dados MFC baseadas em Conectividade de Base de Dados Aberta (ODBC). Todos os nomes de classes de base de dados DAO têm o prefixo "CDao". Ainda pode aceder a fontes de dados ODBC com as classes DAO; as classes DAO geralmente oferecem capacidades superiores porque utilizam o motor de base de dados Microsoft Jet.

A forma mais comum de criar a sua visualização de registos é através do Application Wizard. O Assistente de Aplicação cria tanto a classe de visualização de registos como a sua classe de conjunto de registos associada como parte da sua aplicação inicial esqueleto.

Se precisares apenas de um único formulário, a abordagem do Application Wizard é mais fácil. O ClassWizard permite-te decidir usar uma vista de registo mais tarde no processo de desenvolvimento. Se não criar a classe de visualização de registos com o Application Wizard, pode criá-la mais tarde com o ClassWizard. Usar o ClassWizard para criar uma visualização de registos e um conjunto de registos separadamente e depois ligá-los é a abordagem mais flexível porque dá-te mais controlo na nomeação da classe do conjunto de registos e do seu conjunto. H/. Ficheiros CPP. Esta abordagem também permite ter múltiplas vistas de registo na mesma classe de registos.

Para facilitar a passagem dos utilizadores finais de registo em registo na vista de registo, o Assistente de Aplicação cria recursos de menu (e opcionalmente barra de ferramentas) para mover para o primeiro, próximo, anterior ou último registo. Se criares uma classe de visualização de registos com o ClassWizard, tens de criar esses recursos tu próprio com o menu e os editores de bitmap.

Para informações sobre a implementação padrão para a mudança de registo em registo, veja IsOnFirstRecord e IsOnLastRecord e o artigo Using a Record View, que se aplica tanto CRecordView a como CDaoRecordViewa .

CDaoRecordView mantém o acompanhamento da posição do utilizador no conjunto de registos para que a vista de registos possa atualizar a interface do utilizador. Quando o utilizador se move para qualquer uma das extremidades do conjunto de registos, a vista de registo desativa objetos da interface do utilizador — como itens do menu ou botões da barra de ferramentas — para que se movam mais longe na mesma direção.

Para mais informações sobre como declarar e utilizar as suas classes de visualização de registos e conjuntos de registos, consulte "Desenhar e Criar uma Vista de Registo" no artigo Visualizações de Registo. Para mais informações sobre como funcionam as visualizações de registo e como as utilizar, consulte o artigo Utilização de uma Visualização de Registo. Todos os artigos mencionados acima aplicam-se tanto CRecordView a como CDaoRecordViewa .

Hierarquia de herança

CObject

CCmdTarget

CWnd

CView

CScrollView

CFormView

CDaoRecordView

Requerimentos

Cabeçalho:afxdao.h

CDaoRecordView::CDaoRecordView

Quando crias um objeto de um tipo derivado de CDaoRecordView, chama qualquer uma das formas do construtor para inicializar o objeto da vista e identificar o recurso de diálogo em que a vista se baseia.

explicit CDaoRecordView(LPCTSTR lpszTemplateName);
explicit CDaoRecordView(UINT nIDTemplate);

Parâmetros

lpszTemplateName
Contém uma cadeia terminada por null que é o nome de um recurso template de diálogo.

nIDTemplate
Contém o número de ID de um recurso de template de diálogo.

Observações

Pode identificar o recurso pelo nome (passar uma cadeia como argumento ao construtor) ou pelo seu ID (passar um inteiro sem sinal como argumento). Recomenda-se usar um ID de recurso.

Observação

A sua classe derivada deve fornecer o seu próprio construtor. No construtor da sua classe derivada, chame o construtor CDaoRecordView::CDaoRecordView com o nome do recurso ou ID como argumento.

CDaoRecordView::OnInitialUpdate chama CWnd::UpdateData, que chama CWnd::DoDataExchange. Esta chamada inicial liga DoDataExchangeCDaoRecordView controlos (indiretamente) a CDaoRecordset membros de dados de campo criados pelo ClassWizard. Estes membros de dados não podem ser usados até depois de chamar a função membro da classe CFormView::OnInitialUpdate base.

Observação

Se usar o ClassWizard, o assistente define um enum valor CDaoRecordView::IDD na declaração de classe e usa-o na lista de inicialização dos membros do construtor.

CMyDaoRecordView::CMyDaoRecordView()
    : CDaoRecordView(CMyDaoRecordView::IDD)
{
   m_pSet = NULL;
   // TODO: add construction code here
}

CDaoRecordView::IsOnFirstRecord

Chame esta função membro para determinar se o registo atual é o primeiro registo no objeto de registos associado a esta vista de registo.

BOOL IsOnFirstRecord();

Valor de retorno

Não nulo se o registo atual for o primeiro registo no conjunto de registos; caso contrário, 0.

Observações

Esta função é útil para escrever as suas próprias implementações dos handlers de atualização de comandos predefinidos escritos pelo ClassWizard.

Se o utilizador avançar para o primeiro registo, o framework desativa quaisquer objetos da interface do utilizador (por exemplo, itens de menu ou botões da barra de ferramentas) que tenha para mover para o primeiro ou para o registo anterior.

CDaoRecordView::IsOnLastRecord

Chame esta função membro para determinar se o registo atual é o último registo no objeto de registos associado a esta vista de registo.

BOOL IsOnLastRecord();

Valor de retorno

Diferente de zero se o registo atual for o último registo no conjunto de registos; caso contrário, 0.

Observações

Esta função é útil para escrever as suas próprias implementações dos manipuladores de atualização de comandos predefinidos que o ClassWizard escreve para suportar uma interface de utilizador para passar de registo em registo.

Atenção

O resultado desta função é fiável, exceto que a vista pode não conseguir detetar o fim do conjunto de registos até que o utilizador o ultrapasse. O utilizador pode ter de ultrapassar o último registo antes que a visualização de registos perceba que tem de desativar quaisquer objetos da interface de utilizador para passar para o registo seguinte ou último. Se o utilizador ultrapassar o último registo e depois voltar ao último registo (ou antes dele), a vista de registo pode rastrear a posição do utilizador no conjunto de registos e desativar corretamente os objetos da interface do utilizador.

CDaoRecordView::OnGetRecordset

Devolve um ponteiro para o CDaoRecordsetobjeto derivado em associado à vista de registo.

virtual CDaoRecordset* OnGetRecordset() = 0;

Valor de retorno

Um ponteiro para um CDaoRecordsetobjeto derivado em se o objeto foi criado com sucesso; caso contrário, um ponteiro NULL.

Observações

Deve sobrescrever esta função membro para construir ou obter um objeto de recordet e devolver um ponteiro para ele. Se declarares a tua classe de visualização de registos com o ClassWizard, o assistente escreve um override por defeito para ti. A implementação por defeito do ClassWizard devolve o ponteiro do conjunto de registos armazenado na vista de registo, caso exista. Caso contrário, constrói um objeto de recordet do tipo que especificaste com o ClassWizard e chama a sua Open função membro para abrir a tabela ou executar a consulta, devolvendo depois um ponteiro para o objeto.

Para mais informações e exemplos, consulte o artigo Visualizações de Registo: Utilização de uma Visualização de Registo.

CDaoRecordView::OnMove

Chame esta função membro para mover para um registo diferente no conjunto de registos e mostrar os seus campos nos controlos da vista de registo.

virtual BOOL OnMove(UINT nIDMoveCommand);

Parâmetros

nIDMoveCommand
Um dos seguintes valores padrão de ID de comando:

  • ID_RECORD_FIRST Avançar para o primeiro registo do conjunto de registos.

  • ID_RECORD_LAST Avançar para o último registo do conjunto de registos.

  • ID_RECORD_NEXT Passar para o próximo registo no conjunto de registos.

  • ID_RECORD_PREV Avançar para o registo anterior no conjunto de registos.

Valor de retorno

Não zero se a jogada fosse bem-sucedida; caso contrário, 0 se o pedido de mudança for recusado.

Observações

A implementação padrão chama a função Move apropriada do CDaoRecordset objeto associada à visualização de registo.

Por defeito, OnMove atualiza o registo atual na fonte de dados se o utilizador o tiver alterado na vista de registo.

O Assistente de Aplicação cria um recurso de menu com os itens do menu Primeiro Registo, Último Registo, Próximo Registo e Registo Anterior. Se selecionar a opção Toolbar Inicial, o Assistente de Aplicações também cria uma barra de ferramentas com botões correspondentes a estes comandos.

Se ultrapassar o último registo no conjunto de registos, a vista de registo continua a mostrar o último registo. Se recuar para além do primeiro registo, a visualização de registo continua a mostrar o primeiro registo.

Atenção

A chamada OnMove lança uma exceção se o conjunto de registros não tiver registros. Chame a função responsável pela atualização da interface de utilizador apropriada — OnUpdateRecordFirst, OnUpdateRecordLast, OnUpdateRecordNext, ou OnUpdateRecordPrev — antes da operação de transferência correspondente para determinar se o conjunto de registos tem algum registo.

Consulte também

Classe CFormView
Gráfico de Hierarquia
Classe CDaoRecordset
Classe CDaoTableDef
Classe CDaoQueryDef
Classe CDaoDatabase
Classe CDaoWorkspace
Classe CFormView