As secções seguintes mostram como utilizar o formulário de encomendas e como programá-lo. Os nomes dos objetos são fornecidos para que possa examiná-los facilmente na base de dados Northwind 2.0 Starter Edition.
As seguintes informações resumem pontos importantes sobre a utilização do formulário:
-
O Menu Principal (frmMainMenu) tem uma lista de encomendas, algumas opções de filtro e hiperligações para abrir cada encomenda.
-
Clique no botão Adicionar Encomenda para abrir uma nova ordem em branco.
-
No formulário de detalhes da encomenda (frmOrderDetails), selecione um cliente existente na lista pendente. Nessa altura, o nome do funcionário e o estado Novo estão selecionados. A Data da Encomenda também já está preenchida. Deixe a Data de Envio e a Data Paga em branco por enquanto.
-
Para adicionar uma encomenda para um novo cliente, crie o Registo de cliente antes de abrir o formulário de detalhes da encomenda (frmOrderDetails).
-
Para adicionar itens a uma encomenda, selecione um Produto para esta encomenda e, em seguida, introduza Quantidade. O Preço Unitário é preenchido e o Preço é calculado por uma expressão.
-
Para avançar o Estado da Encomenda e mover a encomenda através do fluxo de trabalho de Novo — > Faturado — > Enviado — > Fechado, utilize os botões na parte superior do formulário de detalhes da encomenda (frmOrderDetails).
-
As encomendas não guardadas podem ser eliminadas com o botão Eliminar Encomenda .
-
O processo de encomenda na Northwind 2.0 Starter Edition é simples por predefinição. O pressuposto é que há sempre inventário disponível, nunca se esgota e nunca tem de ser comprado. Um processo mais realista lidaria com estas questões comuns.
As seguintes informações resumem pontos importantes sobre como o formulário foi desenvolvido.
-
O formulário de detalhes da encomenda (frmOrderDetails) obtém os respetivos dados a partir de uma consulta simples (qryOrder) especificada na propriedade OrigemDosRegistos do formulário. A base de um formulário de introdução de dados numa única consulta de tabela é uma prática recomendada. Tenha em atenção que não é necessário incluir a tabela OrderDetails nesta consulta.
-
Os vários campos de ID obtêm os respetivos valores a partir de caixas de combinação de duas colunas: uma coluna de ID oculta e uma coluna Descrição visível. Estas caixas de combinação estão vinculadas a consultas de duas colunas especificadas na propriedade RowSource .
-
O subformulário, sfrmOrderDetails, está vinculado a uma única consulta de tabela. A lista pendente IDDoProduto funciona como outras listas pendentes de ID. As linhas do subformulário estão limitadas à ordem atual ao definir as propriedades LinkMasterFields e LinkChildFields do controlo de subformulário.
-
Este formulário também tem uma macro BeforeInsert que é executada quando um novo registo está a ser criado e define o Funcionário e o Estado. Normalmente, isto ocorre quando seleciona um cliente. TempVars! UserID contém o UserID do utilizador com sessão iniciada capturado a partir do formulário frmLogin. Tenha em atenção que estas macros não estão na secção Macros do Painel de Navegação, mas sim no separador Eventos da janela Propriedades .
-
O evento AfterInsert deste formulário tem uma macro que é executada quando o novo registo é guardado. Em seguida, atualiza as contagens no painel de navegação esquerdo do menu principal.