Venho pedir ajuda para resolver o seguinte problema, que não estou a conseguir resolver (anexo a base de dados onde estou a trabalhar - Access 2007-2010).
Pretendo que o campo 'NumProc' do meu formulário numere, sem possibilidade de repetição e de forma sequencial (n+1).
(O campo ID da tabela não serve, porque não pretendo que existam números não usados (por exemplo o ID de um registo eliminado, não pode ser recuperado)).
Por isso coloquei no valor predefinido deste campo a expressão: =Ise(DContar("[NumProc]";"Processos")=0;1;DMáx("[NumProc]";"Processos")+1)
O meu problema é que quando dois ou mais utilizadores abrem o formulário, todos eles vão obter o mesmo 'NumProc'.
Tentei resolver isso, indexando o campo (duplicação não autorizada) e criando o seguinte evento com VBA:
Private Sub NumProc_GotFocus()
Me.NumProc.Requery
End Sub
Pensei que com este evento e colocando esse campo como último na ordem de tabulação o Access fizesse a requery e colocasse neste campo o número mais alto que encontra guardado na tabela, mas isso não aconteceu.
Será que alguém me pode explicar como posso obter o campo com n+1 e não permitir a duplicação?
Muito obrigado,
- Anexos
- NMF.zip
- Você não tem permissão para fazer download dos arquivos anexados.
- (130 Kb) Baixado 12 vez(es)