As seções a seguir mostram como usar os formulários de funcionários e como programá-los. Os nomes de objeto são fornecidos para que você possa examiná-los facilmente no banco de dados Northwind 2.0 Starter Edition.
Estes são detalhes importantes sobre como usar o formulário de lista de funcionários:
-
Começando no menu main, selecionar Funcionários no menu à esquerda exibe uma lista de funcionários (sfrmMainMenu_EmployeeList) no workspace à direita.
-
A ID de cada funcionário é um hiperlink para abrir o registro desse funcionário em um formulário pop-up para editar seus detalhes.
-
Para adicionar um novo funcionário, clique no botão Adicionar Funcionário à extrema direita da linha de cabeçalho que abre um novo registro de funcionário em um formulário pop-up (sfrmEmployeeDetail_OrderList) para adicionar seus detalhes.
Estes são detalhes importantes sobre como usar o formulário pop-up de detalhes do funcionário:
-
O formulário pop-up de detalhes do funcionário (frmEmployeeDetail) permite editar e adicionar registros de funcionários.
-
Três campos são necessários para todos os funcionários: Nome, Sobrenome e Título de Trabalho.
-
Mensagens de erro de acesso padrão alertam quando uma ou mais não são concluídas antes de tentar salvar o registro do funcionário. Nenhuma validação é aplicada a outros campos, como endereço de email e números de telefone. Os usuários são responsáveis pela formatação adequada, como (000) 000-000. A validação de acesso padrão no controle suspenso para Títulos limita as entradas a uma lista de valores pré-selecionados. Você pode adicionar novos Títulos, novamente, usando o comportamento padrão do Access para controles de campo de valor. Selecionar a lista suspensa no formulário exibe o ícone de edição.
-
As imagens dos funcionários são armazenadas na tabela como um campo de anexo. Você adiciona novas imagens ou altera imagens existentes, usando o comportamento padrão de acesso para campos de anexo.
-
Se um funcionário tiver criado pedidos, o subforma no lado direito do pop-up de detalhes do funcionário lista esses pedidos no Modo de Exibição do Datasheet.
-
Qualquer ordem existente para esse funcionário pode ser editada clicando na ID do pedido hiperlinked # no subforma de pedidos (sfrmOrderDetails).
Os formulários de funcionários usam macros VBA e inseridas em controles em formulários para executar a lógica básica. Elas contêm duas macros autônomas e várias macros inseridas.
Lista de Funcionários
-
O formulário Lista de Funcionários (sfrmMainMenu_EmployeeList) obtém seus dados de uma consulta simples qryEmployeeList (da propriedade RecordSource ). Basear um formulário de entrada de dados em uma consulta de uma tabela é uma prática recomendada.
-
Os controles no formulário de lista de funcionários estão habilitados, o que significa que você pode selecioná-los e bloqueados, o que significa que eles são somente leitura.
-
O campo Título, que é baseado em um campo multivalorizado, é uma caixa suspensa ou combinação. Sua fonte de linha é uma lista de valores, o que significa que os itens opcionais disponíveis estão contidos diretamente nesse campo. A lista tem a propriedade Limite para Lista definida como "Sim" porque esse formulário não é destinado à edição. O campo multivalido é incluído apenas como uma ilustração do recurso, não como uma recomendação.
-
Na lista de funcionários (sfrmMainMenu_EmployeeList), dois procedimentos Sub em eventos Key Up e Key Down respondem aos movimentos do cursor de um usuário no Modo de Exibição do Datasheet. Eles detectam a direção de um movimento de cursor (esquerda, direita, acima ou abaixo) e chamam funções VBA que movem o foco para o controle apropriado.
-
Você edita registros de funcionários existentes e adiciona novos no formulário de detalhes (frmEmployeeDetail).
-
Você pode abrir o formulário de detalhes do funcionário da lista de funcionários como um formulário pop-up editável de duas maneiras:
-
Selecionando um EmployeeID, que é formatado para aparecer como um hiperlink, abrindo o formulário de detalhes do funcionário e filtrando-o apenas para esse registro de funcionário.
-
Selecionando o rótulo Adicionar Funcionário no cabeçalho do formulário para abrir o formulário de detalhes do funcionário e mover o foco para um novo registro. Todos os registros atuais estão na fonte de registro do formulário.
Observe que as duas abordagens podem ter impactos diferentes no desempenho. Filtrar um formulário para um único registro minimiza a quantidade de dados a serem transferidos da tabela. Com um pequeno conjunto de registros, a diferença pode não ser perceptível.
-
Detalhes do funcionário
-
O formulário de detalhes do funcionário (frmEmployeeDetail) obtém seus dados de uma consulta simples, qryEmployeeDetails (da propriedade RecordSource do formulário). É recomendável basear um formulário de entrada de dados em uma consulta de uma tabela.
-
A cláusula SELECT em qryEmployeeDetails usa o caractere curinga asterisco (*) para selecionar todos os campos na tabela, enquanto a cláusula SELECT em qryEmployeeList lista campos específicos. O uso do caractere curinga permite que novos campos em uma tabela subjacente sejam recuperados sem edição adicional da consulta. Isso não é possível com uma lista de campos específicos. Uma lista de campos específicos restringe o conjunto de registros a apenas os campos necessários no formulário somente de exibição. Seu design deve ser baseado na consideração de qual abordagem é mais apropriada ao seu requisito, embora a preferência deva ir para a abordagem menos provável de exigir manutenção futura, que é o uso do caractere curinga.
-
Os controles no formulário de detalhes do funcionário estão habilitados e não bloqueados, o que significa que você pode selecioná-los e editá-los.
-
O campo Título, que é baseado em um campo multivalorizado, é uma caixa suspensa ou combinação. Sua fonte de linha é uma lista de valores, o que significa que os itens opcionais disponíveis estão contidos diretamente nesse campo. A lista tem a propriedade Limite para Lista definida como "Não" porque esse formulário destina-se à edição. Adicionar ou editar títulos usa o método access interno, portanto, nenhum código é necessário. O campo multivalido é incluído apenas como uma ilustração do recurso, não como uma recomendação.
-
Você pode editar registros de funcionários existentes e novos no formulário de detalhes.
-
Você pode abrir o formulário de detalhes do funcionário da lista de funcionários como um formulário pop-up editável de duas maneiras:
-
Selecionando um EmployeeID, que é formatado para aparecer como um hiperlink, abrindo o formulário de detalhes do funcionário e filtrando-o apenas para esse registro de funcionário.
-
Selecionando o rótulo Adicionar Funcionário no cabeçalho do formulário para abrir o formulário de detalhes do funcionário e mover o foco para um novo registro. Todos os registros atuais estão na fonte de registro do formulário.
-
-
Filtrar um formulário para um único registro minimiza a quantidade de dados a serem transferidos para o formulário da tabela. Com um pequeno conjunto de registros, como os dados de exemplo, a diferença pode não ser perceptível.
-
O controle de subformação (sfrmEmployeeDetail_OrderList) à direita de Informatio Pessoaln exibe pedidos para o funcionário selecionado no momento (se houver). O subforma no controle de subformação é reutilização da seção Pedidos . As propriedades internas do Access LinkMasterFields/LinkChildFields do controle de subformação sincronizam e filtram registros exibidos para cada funcionário.
-
Nos detalhes do funcionário (frmEmployeeDetail), dois procedimentos Sub no evento On Current do formulário e no evento On Close respondem a esses eventos:
-
No Current mostra ou oculta o rótulo Adicionar Funcionário dependendo se o registro atual é um existente ou quando é um registro para um novo funcionário, iniciado, mas ainda não salvo.
-
Em Fechar executa duas ações de manutenção. Ele consulta novamente o Recordset no subforma de detalhes do funcionário para atualizar quaisquer adições ou alterações feitas no formulário de detalhes. Ele sincroniza novamente a exibição de contagens de funcionários no menu main chamando essa macro.
-
Macros
macMainMenu_UpdateSubs Essa macro é autônoma e é executada quando ocorrem determinados eventos, incluindo os formulários de funcionário. Em macMainMenu_UpdateSubs, os submacros são agrupados de acordo com os recursos aos quais se aplicam. Para funcionários, o submacro sincroniza a contagem de registros de funcionários com a contagem exibida no menu main.
Macros inseridas Os formulários de funcionários são controlados principalmente por macros inseridas contidas no formulário e editáveis somente no formulário. Na lista de funcionários (sfrmMainMenu_EmployeeList):
-
Hiperlink EmployeeID Clicar no EmployeeID no formulário de lista de funcionários abre o formulário Detalhes do Funcionário e define o foco para o registro de funcionário selecionado.
-
Adicionar rótulo funcionário Clicar no botão Adicionar Funcionário abre o formulário de detalhes do funcionário (frmEmployeeDetail) e define o foco como um novo registro.
-
Detalhes do funcionário Clicar no botão Adicionar Funcionário no cabeçalho salva o registro atual e define o foco como um novo registro.