Páginas

sexta-feira, 18 de junho de 2010

Incluir ítens novos em caixa de combinação


Vamos imaginar um formulário de cadastro de clientes, e um dos itens a serem informados (estado civil), para isto no formulário já deverá ter a caixa de combinação com as opções (casado, solteiro, viúvo, etc), porém com o uso do programa você perceba que faltou um item (desquitado). Agora surgiu o problema, como fazer?

* fechar o formulário que está cadastrando e perder os dados;
* abrir outro formulário para cadastrar o estado civil (desquitado);
* abrir novamente o formulário para recomeçar o cadastro anterior.

Quanta perda de tempo. Vamos imaginar o seguinte: Realmente no meio do cadastro percebemos que não existe um item na caixa de combinação (estado civil), não teremos necessidade de interromper o trabalho para cadastrarmos o desquitado.

1º passo – criar formulário
a) baseado em uma tabela independente (uma só para estado civil) crie um formulário simples com uma combo para informar o estado civil;

b) no formulário (cadastro de clientes) na combo estado civil informe sim na sua propriedade “limitar a uma lista” (desta forma o access impedirá que novos dados sejam incluídos por engano)

2º passo - cadastar cliente:
a) quando estivermos cadastrando um cliente novo e ao chegarmos no ítem estado civil não vamos encontrar a opção “desquitado”, basta somente digitá-la dentro da caixa;

b) ao atualizar o campo o access verificará que não existe esta opção (desquitado);

c) este código retornará a pergunta “o item desquitado não está cadastrado, deseja cadastra-lo”, clique em sim;

d) desta forma o access abrirá o formulário criado, no 1º passo, para que você redigite o estado civil novo, neste caso, desquitado (porém o formulário de cadastro de clientes não será fechado, continuará ativo);

e) automaticamente o access gravará o novo estado civil, fechará o formulário que você utilizou para cadastrá-lo e atualizará o formulário de cadastro de cliente;

f) voltando ao formulário de cadastro você poderá verificar que agora o item “desquitado” aparece na lista da caixa de cominação e que você não perdeu os dados anteriores, basta somente continuar o cadastro.

Cole o código abaixo na propriedade "se não estiver na lista" da combo:

response = acdataerrcontinue ' inibe msg padrão do access.
if msgbox("item não cadastrado: '" & newdata & "'" & vbcrlf & "deseja cadastrar?", 32 + vbyesno) = 6 then
docmd.openform "informe o nome do seu formulário que utiliza para cadastrar os ítens", , , , acformadd, acdialog, newdata
' a execução deste código fica interrompida aqui até o
' fechamento do seu formulario.
response = acdataerradded
else
response = acdataerrcontinue
'gotorecord acform
'docmd.openform
end if
end sub

Nenhum comentário:

Postar um comentário