Iniciar sessão com a Microsoft
Iniciar sessão ou criar uma conta.
Olá,
Selecione uma conta diferente.
Tem várias contas
Selecione a conta com a qual pretende iniciar sessão.

Selecione qualquer tópico abaixo para saber mais sobre a gestão de Empresas na Northwind Developer Edition. 

Nota: Esta página é referenciada no Access Developer Showcase Edition

Na Edição Northwind Starter, o Cliente é o único tipo de empresa. Na Edição para Programadores, expandimos esta opção para incluir Clientes, Transitários e Fornecedores

Também expandimos Produtos para incluir vários fornecedores para um produto.   

Cada empresa só pode ser de um tipo: Cliente, Transitário ou Fornecedor. O caso de negócio para quando o tipo de empresa pode ser alterado é descrito na secção frmCompanyDetail deste artigo.
'

Tipos de empresa e onde são utilizados 

  • Cliente para uma Encomenda

  • Transitário de uma Encomenda

  • Fornecedor de uma Nota de Encomenda

  • Fornecedor de um Produto

Além disso, as Empresas na versão Northwind Developer podem ter vários Contactos.
'

Empresas no Friso

Selecionar Empresas no Friso apresenta Empresas na Northwind em frmCompanyList

Lista da Empresa - frmCompanyList

Na Versão para Programadores da Northwind, frmCompanyList é um formulário dividido. Um formulário dividido dá-lhe duas vistas dos seus dados ao mesmo tempo, Vista formulário e Vista de Folha de Dados. Também tem um cabeçalho e um rodapé.  Nesta implementação, não iremos apresentar a vista de formulário. Ao não apresentarmos a vista de formulário, teremos uma folha de dados com um cabeçalho e um rodapé.  

Eis como o conseguimos:  

Em frmCompanyList, a barra divisora entre o cabeçalho e a folha de dados não está visível. A propriedade de formulário Barra Divisora de Formulário está definida como Não, ocultando assim a vista de formulário. 

Os formulários divididos e os formulários de Folha de Dados são como folhas de cálculo do Excel. Suportam filtragem e ordenação e pode mostrar, ocultar ou mover campos ou colunas. Além disso, as colunas podem ser totais. 

As secções de cabeçalho e rodapé de um formulário dividido permitem-lhe utilizar botões de comando, imagens, texto (etiquetas) e quaisquer outros controlos de formulário de acesso que pretenda melhorar a experiência do utilizador. Para saber mais sobre formulários e formulários divididos, pode começar aqui. As folhas de dados não apresentam as secções de cabeçalho e rodapé.

Saiba mais através de Introdução aos formulários e Criar um formulário dividido
'

O formulário Lista da Empresa suporta estas cinco ações:

  • Aplicar um filtro personalizado, pré-criado, filtragem a pedido ou ambos

  • Mostrar/Ocultar Campos

  • Criar Etiquetas

  • Mostrar Filtro

  • Adicionar uma nova Empresa

Faça duplo clique em qualquer parte da linha de detalhes para abrir o formulário Detalhes da Empresa (não apenas no ID como noutros formulários). 
'

Filtros Pré-criados e filtragem a pedido

O formato frmCompanyList é rico em oportunidades para filtrar as Empresas na Northwind.  Na parte superior do ecrã, pode filtrar com estes botões de opção:

  • Todas as Empresas (a predefinição)

  • Apenas Clientes

  • Apenas Transitários

  • Apenas Fornecedores

Além disso, estão disponíveis as opções de filtragem incorporadas e a pedido da folha de dados. Todos os filtros aplicados ao formulário lista da empresa (pré-criado ou a pedido) são transmitidos e aplicados ao frmCompanyDetail quando é aberto.  

Para transmitir filtros de um formulário para outro, primeiro tem de limpar a cadeia de filtro do formulário para conter apenas nomes de campo. Veja o módulo de código Open_frmCompanyDetail para obter uma explicação mais detalhada sobre como isto é feito e em frmCompanyDetail nos comentários de Form_Load para ver como é aplicado.

Transmitimos as informações do filtro para o formulário Detalhes da Empresa através da propriedade OpenArgs do formulário em vez de abrir o formulário com uma condição where .  Pode saber mais sobre o OpenArgs aqui.


Mostrar/Ocultar Campos

Selecione Mostrar/Ocultar Campos para abrir uma caixa de diálogo com uma lista de todos os campos disponíveis; pode verificar ou desmarcar uma ou mais colunas. O esquema selecionado persiste de uma sessão para outra até ser implementada uma nova versão da aplicação. Consulte Mostrar ou ocultar colunas numa folha de dados. 

Criar Etiquetas

O botão Criar etiquetas abre o Assistente de Etiquetas de Acesso. Saiba mais sobre o assistente de etiquetas aqui: Criar etiquetas de correio no Access. 

Abrir Detalhes da Empresa

Faça duplo clique em qualquer parte de uma linha de detalhes para abrir frmCompanyDetail

Clique no campo ID (configurado como uma hiperligação) ou faça duplo clique em qualquer outro campo na linha de detalhes para abrir frmCompanyDetail para a Empresa selecionada e transmitir qualquer filtro de formulário que tenha sido aplicado à Lista da Empresa para frmCompanyDetail.

Detalhes da Empresa - frmCompanyDetail

À primeira vista, frmCompanyDetail pode parecer relativamente simples.  No entanto, não é.  No código subjacente ao formulário, está a acontecer muita coisa!  O formulário realça as seguintes ações e funcionalidades:

  • Vários botões de comando e ligações

    • Adicionar Empresa

    • Email Lista de Empresas

    • Mostrar Filtro

    • Eliminar Empresa

    • Abrir um Mapa com base num Endereço

    • Abrir um site a partir de uma hiperligação

  • Cancelar ou Guardar ações no modo de adicionar/editar

  • Regras de negócio para controlar quando um tipo de empresa pode ser alterado

  • Verificação da integridade referencial antes do evento
    de eliminação '

O evento Form_Load inclui as seguintes ações:

  • Utilize vários parâmetros transmitidos para o formulário através de OpenArgs e da função Northwind StringToDictionary personalizada

  • Utilize a propriedade de formulário OpenArgs para permitir que um utilizador adicione uma nova Empresa ao fazer uma Encomenda

  • Utilizar a técnica GoToRecord para adicionar uma nova Empresa

  • Utilize a técnica SearchForRecord para mudar para a Empresa selecionada em frmCompanyList

  • Opções de Ramificação/Execução Condicional (Ver Form_Load Evento)

    • Opção 1 - Declaração de Caso

    • Opção 2 - Aninhado Se Senão

    • Opção 3 – ElseIf

    • Opção 4 – Aninhado Se Senão e ElseIf
      '

No evento Form_Current, ocorre o seguinte: 

  • Altere um subformulário legenda e objeto de origem no runtime ao chamar o sub ManageFormOptions(). Esta subrreplicação é chamada a partir de vários locais neste formulário. 
    '

Cancelar ou Guardar Ações no modo de adição ou edição. 

Os nossos formulários do Access estão vinculados.  O que isto significa?  Da Microsoft:
"Um formulário 'vinculado' é um formulário que está diretamente ligado a uma origem de dados, como uma tabela ou consulta, e pode ser utilizado para introduzir, editar ou apresentar dados dessa origem de dados."

Com formulários vinculados, o Access não requer que "guarde" explicitamente os seus dados.  Quando passa de um registo para o Access seguinte, guarda automaticamente os seus dados.  Muitas vezes, isso funciona da maneira que queres.  Mas e se um utilizador tiver de efetuar uma ação para indicar que está pronto para guardar? 

Por exemplo, o formulário frmCompanyDetail tem um sub form para Contactos (sfrmCompanyDetail_Contacts).  Por isso, o que acontece se começar a adicionar ou editar os dados da empresa ( digamos número de telefone) e colocar em pausa para corrigir um erro de digitação que tenha reparado nas informações de um Contacto?  Por predefinição, o Access guardará todas as alterações efetuadas no registo da empresa quando clicar no registo de contacto, que não é o que pretende. 

Neste formulário, mostramos uma forma de o fazer com um único registo para uma Empresa.

Qual é o motivo para ter o botão Cancelar ? A chave de escape cancela quaisquer dados introduzidos ou alterados (mas não guardados) num controlo no formulário. Neste estado, o ícone de lápis é apresentado no seletor de registos (uma barra vertical cinzenta no lado esquerdo da linha).

No entanto, depois de clicar no botão Adicionar Empresa , irá reparar que não existe nenhum ícone de lápis até começar a introduzir dados no novo registo da empresa. E se mudar de ideias ao adicionar uma nova empresa neste momento? Se premir a tecla de escape, nada acontece porque ainda não introduziu dados. É por isso que temos o botão cancelar.

Clicar no botão Cancelar funciona sempre; A chave de escape só funciona quando introduziu ou alterou dados.  

Se começar a adicionar ou alterar dados e, em seguida, fechar o formulário sem clicar em guardar ou cancelar, por predefinição, o Access irá guardar os dados.  

Regra de Negócio:
Como regra de negócio da Northwind para Empresas, queremos que indique explicitamente que pretende "Guardar".  Para garantir que, temos de verificar se o utilizador clicou em guardar no evento Form_BeforeUpdate e, se não clicar em guardar, pedir ao utilizador para indicar se pretende guardar ou cancelar as alterações.
'

Alteração do Tipo de Empresa

Regra de Negócio: Se uma Empresa tiver Alguma Encomenda, Notas de Encomenda ou for Fornecedor de um Produto, o utilizador não poderá alterar o Tipo de Empresa. Criámos uma função , CompanyIsActive(), para determinar se existe alguma das condições acima. Se o fizerem, o utilizador não pode alterar o tipo de empresa até que estas referências sejam limpas (eliminadas). 

Esta regra só é imposta neste formulário.  Numa aplicação pronta para produção, não permitiria que os utilizadores alterassem os dados ao abrir a tabela diretamente.  Em Northwind, permitimos que abra as tabelas e faça o que quiser.  Esta é uma excelente forma de aprender, mas também o deixa livre para fazer alterações que possam violar as regras. 

Deve sempre programar defensivamente. Planeie o inesperado. Mesmo que a Empresa seja atualmente um Transitário, isso não significa que não tenha sido, em algum momento, um fornecedor ou cliente. O ID pode ser encontrado em registos mais antigos nas tabelas ProductVendor ou PurchaseOrder .
'

Formulário de Caixa de Diálogo Personalizado.

Para apresentar as suas conclusões, cboCompanyTypeID_BeforeUpdate utiliza um formulário de caixa de diálogo, frmGenericDialog. Esta pode ser uma ótima alternativa à caixa de mensagens padrão quando tem muitas informações para apresentar. Também é utilizado com o formulário de colaborador para um fim semelhante.
'
 
Eliminar Verificação de Integridade Referencial

Na Edição Northwind Starter, permitimos que o comportamento predefinido do Access o notifique de que uma empresa não pode ser eliminada quando tem registos relacionados.  

Na Northwind Developer Edition, notificamo-lo antes da eliminação, em vez de aceitar o comportamento predefinido do Access.  Fazemos isso com a mesma função que fizemos com o Tipo de Empresa Alterado; função CompanyIsActive().

A diferença é que só nos preocupamos com Encomendas ou Notas de Encomenda. Se não existirem Encomendas ou Encomendas de Compra, confirmamos a sua intenção de eliminar e eliminaremos o Fornecedor de Produtos e os Contactos , caso existam para si. 

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.

Estas informações foram úteis?

Quão satisfeito está com a qualidade do idioma?
O que afetou a sua experiência?
Ao selecionar submeter, o seu feedback será utilizado para melhorar os produtos e serviços da Microsoft. O seu administrador de TI poderá recolher estes dados. Declaração de Privacidade.

Obrigado pelo seu feedback!

×