MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    [Resolvido]Identificar novo registro ao clicar

    avatar
    Jonatan
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 234
    Registrado : 03/05/2012

    [Resolvido]Identificar novo registro ao clicar Empty [Resolvido]Identificar novo registro ao clicar

    Mensagem  Jonatan 21/7/2014, 15:28

    Olá, ao clicar em um botão para voltar para o registro anterior, preciso que verifique se o atual é um novo registro.

    Se for vai para o anterior, senão, verifica se determinados campo estão nulos e não volta até ser preenchidos.

    gostaria de tentar com macro e vba, se possível.

    Grato

    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3857
    Registrado : 21/04/2011

    [Resolvido]Identificar novo registro ao clicar Empty Re: [Resolvido]Identificar novo registro ao clicar

    Mensagem  Marcelo David 21/7/2014, 16:09

    Jonatan escreveu:Olá, ao clicar em um botão para voltar para o registro anterior, preciso que verifique se o atual é um novo registro.

    Se for vai para o anterior, senão, verifica se determinados campo estão nulos e não volta até ser preenchidos.

    Qual é o registro anterior a um registro novo? O último ou o primeiro?


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Identificar novo registro ao clicar Marcel11
    avatar
    Jonatan
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 234
    Registrado : 03/05/2012

    [Resolvido]Identificar novo registro ao clicar Empty Re: [Resolvido]Identificar novo registro ao clicar

    Mensagem  Jonatan 21/7/2014, 17:55

    Olá, Marcelo. É o último.

    Grato
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3857
    Registrado : 21/04/2011

    [Resolvido]Identificar novo registro ao clicar Empty Re: [Resolvido]Identificar novo registro ao clicar

    Mensagem  Marcelo David 21/7/2014, 18:30

    Evento ao Clicar do botão voltar

    Código:

    On Error Resume Next
    If Me.NewRecord Then
       DoCmd.RunCommand acCmdRecordsGoToLast
    Else
       If IsNull(Me!txt1) Or IsNull(Me!txt2) Then
            MsgBox "Preencha os campos corretamente", vbExclamation, "Campos sem dados"
       Else
            DoCmd.RunCommand acCmdRecordsGoToPrevious
       End If
    End If

    Em que:

    txt1 e txt2 são os campos que devem ser preenchidos (para o exemplo apenas dois campos obrigatórios, mas pode acrescentar quantos quiser usando o operador lógico Or).


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Identificar novo registro ao clicar Marcel11
    avatar
    Jonatan
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 234
    Registrado : 03/05/2012

    [Resolvido]Identificar novo registro ao clicar Empty Re: [Resolvido]Identificar novo registro ao clicar

    Mensagem  Jonatan 21/7/2014, 19:08

    Olá, funcionou mais ou menos.

    Estou anexando um exemplo para testes.

    Grato.
    Anexos
    [Resolvido]Identificar novo registro ao clicar AttachmentBanco de dados1.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (61 Kb) Baixado 13 vez(es)
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3857
    Registrado : 21/04/2011

    [Resolvido]Identificar novo registro ao clicar Empty Re: [Resolvido]Identificar novo registro ao clicar

    Mensagem  Marcelo David 21/7/2014, 19:49

    Mais ou menos como? O que ainda falta para funcionar certinho?


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Identificar novo registro ao clicar Marcel11
    avatar
    Jonatan
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 234
    Registrado : 03/05/2012

    [Resolvido]Identificar novo registro ao clicar Empty Re: [Resolvido]Identificar novo registro ao clicar

    Mensagem  Jonatan 21/7/2014, 20:27

    Tenta inserir em um novo registro um produto qualquer. Depois tenta voltar.

    Não funciona, agora se inserir e avançar e tentar voltar, aí sim funciona e emitir a msg de aviso se for o caso.


    Esse é o problema.
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3857
    Registrado : 21/04/2011

    [Resolvido]Identificar novo registro ao clicar Empty Re: [Resolvido]Identificar novo registro ao clicar

    Mensagem  Marcelo David 21/7/2014, 20:41

    O banco de dados que você me enviou não tem o código que eu forneci e sim macro.
    Ponha o código no lugar da macro e teste. Caso não funcione, poste o banco, mas com o código que pôs.


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Identificar novo registro ao clicar Marcel11
    avatar
    Jonatan
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 234
    Registrado : 03/05/2012

    [Resolvido]Identificar novo registro ao clicar Empty Re: [Resolvido]Identificar novo registro ao clicar

    Mensagem  Jonatan 21/7/2014, 22:31

    Marcelo, tem o código sim. O botão com o nome VOLTAR tem o código. Acabei criando outros com macro, mas o código está lá.

    Abraços
    avatar
    Jonatan
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 234
    Registrado : 03/05/2012

    [Resolvido]Identificar novo registro ao clicar Empty Re: [Resolvido]Identificar novo registro ao clicar

    Mensagem  Jonatan 23/7/2014, 14:34

    Marcelo, consegui o que eu queria. Só mais uma dúvida, há alguma ação que posso usar para identificar novo registro com macro? VBA, tem NewRecord. E em macro, há alguma que substitua NewRecord?

    Solução:

    Com macro

    Se: ÉNulo([Código]) 'campo chave primária, numeração automática
    IrParaRegistro; Anterior

    Senão

    Se: ÉNulo([Campo1])
    CaixaDeMensagem: Campo Obrigatório.; Sim; Informação

    IrParaControle: Campo1

    Senão

    IrParaRegistro; Anterior


    Com VBA

    Adaptei o código que você me passou:

    No lugar de If Me.NewRecord Then, ficou
    If Isnull(Me.Código) Then

    Me serviu, não sei se é a maneira adequada de se fazer, enfim...  Corrijam se estiver errado, mas me parece que o evento OnClick não é adequado para usar NewRecord.

    Abraços
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3857
    Registrado : 21/04/2011

    [Resolvido]Identificar novo registro ao clicar Empty Re: [Resolvido]Identificar novo registro ao clicar

    Mensagem  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...  Very Happy


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Identificar novo registro ao clicar Marcel11
    avatar
    Jonatan
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 234
    Registrado : 03/05/2012

    [Resolvido]Identificar novo registro ao clicar Empty Re: [Resolvido]Identificar novo registro ao clicar

    Mensagem  Jonatan 24/7/2014, 03:33

    Olá, Marcelo. Veja bem, teste assim:

    1. Em um novo registro insira algo no campo produto. 'Feito isso um novo registro é criado
    2. Deixe o outro campo obrigatório em em branco, depois clique em voltar. 'Note que não foi feita a verificação nesse momento, nada acontece, na verdade
    3. Agora saia desse registro, volte novamente, depois clique em Voltar. Aí sim ele verifica.


    Esse é o problema do qual falava.
    avatar
    Jonatan
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 234
    Registrado : 03/05/2012

    [Resolvido]Identificar novo registro ao clicar Empty Re: [Resolvido]Identificar novo registro ao clicar

    Mensagem  Jonatan 24/7/2014, 03:39

    Agora sim! No mesmo evento Ao clicar, antes do código, coloquei Me.Refresh e funcionou. Acho que faltava atualizar esse registro antes de verificar os campos.

    Mas só por curiosidade, Marcelo, há como identificar um novo registro com macro?

    Abraços

    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3857
    Registrado : 21/04/2011

    [Resolvido]Identificar novo registro ao clicar Empty Re: [Resolvido]Identificar novo registro ao clicar

    Mensagem  Marcelo David 24/7/2014, 12:45

    Sim, é possível saber se é um novo registro pelas
    macros, veja:

    Se [Formulário].[NewRecord] Então
       CaixaMensagem
       Mensagem   Esse é um novo registro
       Tipo Informação
       Título Novo registro?

    Senão
       CaixaMensagem
       Mensagem   Esse não é um novo registro
       Tipo Aviso!
       Título Novo registro?

    *Essa macro funciona no Access 2010, não tenho certeza em outras versões.


    Última edição por Marcelo David em 24/7/2014, 12:47, editado 1 vez(es) (Motivo da edição : *)


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Identificar novo registro ao clicar Marcel11
    avatar
    Jonatan
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 234
    Registrado : 03/05/2012

    [Resolvido]Identificar novo registro ao clicar Empty Re: [Resolvido]Identificar novo registro ao clicar

    Mensagem  Jonatan 24/7/2014, 14:07

    Ok, muito obrigado.

    Conteúdo patrocinado


    [Resolvido]Identificar novo registro ao clicar Empty Re: [Resolvido]Identificar novo registro ao clicar

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 19:21