Concordar com o Capricorn1 e o dqmq, porém eu adicionarei meus 2 centavos worth também.
1. Porque o dqmd mencionado, você pode usar a régua da validação dos controles, mas às vezes usuários gostaria de poder preencher controles em sua seqüência preferred, assim que você pôde considerar usar o evento da saída dos controles e apenas emergente um aviso quando retiram o controle que indica que o controle está exigido antes que o registro possa ser conservado.
2. O código de Capricorn1 verific todos os campos required mas não lhe dá uma mensagem muito específica. Desde que seu formulário é unbound, você provavelmente não terá construído em teclas da navegação (eu penso que esta é uma boa coisa). Eu geralmente forneço excepto e cancelo teclas em cada um de meus formulários. Com a tecla de salvaguarda, você pode fazer uma de duas coisas:
a. Você pode fazer seus testes da validação no evento do clique da tecla, verific cada um dos campos que são exigidos para se assegurar de que tenham uma entrada válida. Se não, indicar uma mensagem específica do campo, e ajustar o foco de volta ao controle apropriado.
b. Você pode incapacitar a tecla de salvaguarda até que todos os campos required estejam preenchidos. Para fazer este, você precisaria de usar a saída ou evento de AfterUpdate de cada um dos controles e do código da chamada como permitir fornecida Cap1/inutilização que a tecla de comando baseou nos valores em todos os campos. O para baixo lateral deste método é ele tem que procurarar ao redor no formulário para identificar que dos campos required está faltando dados. Eu tenho, quando o cliente o quis, setup meus controles required (textboxes e comboboxes) com um formato condicional que seja uma cor diferente do que o padrão. Eu faço este com uma função (ver abaixo) e ajustando a condição de controles como a “expressão é” com um parâmetro que olhe como: fnRequiredButEmpty (formulários! formname.controlname)
Se você faz este e ajusta a propriedade do fundo a uma cor clara (eu uso geralmente um pálido - amarelo), a seguir o usuário pode imediatamente ver que controles são exigidos, e qual não foram preenchidas. Você poderia modificar a função para verific para ver se há o valor específico para controles específicos em vez apenas do teste para ver se o comprimento > 0, mas este lhe dará uma idéia.
Função confidencial fnRequiredButEmpty (CTRL como o controle) como bôoleano
RequiredButEmpty = (Len (Ctrl.Value & "") = 0)
Função do fim