Marcelo David 23/7/2014, 18:28
Abri o tópico novamente.
Veja bem, NewRecord pode ser usado de acordo com a necessidade.
Se você precisa saber se é um novo registro ao clicar no botão voltar,
então é nesse botão que é "apropriado" usar o comando.
Não uso macro e aconselho a evita-las, pois no ambiente
RumTime, o Access não interpreta os tratamentos de erros
e seu aplicativo fecha assim que encontrar uma exceção.
Se no VBA está atendendo, porque usar macros?
Baixei novamente seu banco e realmente vi que o código está lá e está funcionando
como pediu na sua mensagem 1!
Você falou que o código funcionou mais ou menos, mas não disse o que ainda faltava...
Abaixo vou postar o código e comenta-lo para ver se estar como pediu na mensagem 1.
Código |
Private Sub Comando22_Click() 'Ao clicar no botão voltar On Error Resume Next
If Me.NewRecord Then 'Verifico se é um novo registro... DoCmd.RunCommand acCmdRecordsGoToLast 'Caso seja um novo registro, então vou para o último registro sem fazer nenhuma validação como você mesmo pediu Else 'Se não for um novo registro... If IsNull(Me!Produto) Or IsNull(Me!ValorUnitário) Then 'Como não é um novo registro, verifique se os campos Produto e ValorUntátio estão preenchidos MsgBox "Preencha os campos corretamente", vbExclamation, "Campos sem dados" 'Informo que há campos que não foram preenchidos Else 'Caso os campos estejam preenchidos, então... DoCmd.RunCommand acCmdRecordsGoToPrevious 'Volto um registro normalmente End If End If
End Sub
|
Foi isso que você pediu. Agora se há mais algo que não falou, basta falar que veremos como interpretar isso via VBA...
.................................................................................
Aprenda como criar formulário desacoplado.
Conheça meu canal no Youtube e se inscreva.