DamascenoJr. 15/1/2020, 22:49
Obrigado por contribuir com o tópico.
Vendo seu código, notei três pontos.
1. Embora usar DLast apontando como domínio o Me.RecordSource faça parecer que a função não viajaria até a tabela, e que trabalharia diretamente no formulário, isso não acontece. No final, Me.RecordSource equivale a tblColaboradores e a função viajaria até a tabela mesmo assim para buscar o valor (correndo o risco inclusive buscar o valor em um registro aleatório, conforme a ajuda do access sobre a função DLast).
2. As funções D (DLast, DMax, DMin etc) só funcionam quando o parâmetro domínio aponta para uma tabela ou consulta previamente existente. Se na propriedade fonte do registro (RecordSource) fosse usado uma instrução SQL (SELECT * FROM tblColaboradores ORDER BY tblColaboradores.codNii DESC;), o Access exibiria uma mensagem de erro.
3. Mesmo que seja trocado recordset pelas função DLast (a sintaxe é até mais simples
), e que instruções SQLs não sejam usadas na propriedade fonte do registro (RecordSource) do formulário, as viagens diminuiriam, mas somente porque o código só viajaria à tabela nos casos de um novo registro. Sendo assim, como ficaria a solicitação do rmjsantos que gostaria de ver os nii anteriores à medida que navega pelos registros?