MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Erro na execução de IF quando é diferente de 0

    Compartilhe

    DAVIDBHZ
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 21/09/2017

    [Resolvido]Erro na execução de IF quando é diferente de 0

    Mensagem  DAVIDBHZ em 14/5/2018, 19:43

    Boa tarde.

    Em dois formulários iguais, mudando apenas as tabelas. em um dos formulários meus código funciona perfeitamente, porem no outro o mesmo código não funciona, ele e bem simples, eu comparo um do campos em um if e caso o campo seja =1 que significa que o usuário clicou para salva os dados depois de conferir, ele fecha o formulário,  caso ele não tenha clicado ele da um aviso que tem que salva antes de sair ou excluir, para não ter não tabela registros errados, o código e o seguinte:
    Código:

    If CADASTRO_PEDIDO = 0 Then
    If MsgBox("PEDIDO NÃO FOI SALVO E SERA EXCLUIDO CASO FECHE O FORMULARIO, DESEJA SAIR MESMO ASSIM?", vbYesNo, "Excluir") = vbYes Then
    DoCmd.RunCommand acCmdDeleteRecord
    MsgBox "Registro apagado", vbInformation, "Excluído"
    DoCmd.Close
    Else
    Cancel = True

    End If
    Else
    DoCmd.Close
    End If

    em um dos formularios ele esta rodando belezinha, no outro ele esta dando um erro em registros novos onde não foi digitado nenhum dado falando que nao pode executar o comando DoCmd.RunCommand acCmdDeleteRecord, ate entendo porque se não tem nada para apagar o correto e da um erro, porem estou falando que se for diferente de 0 e para simplesmente fechar o programa, me ajudem a entende esse erro ou a melhorar o código.

    o campo Cadastra_Pedido e um campo de Sim/Nâo.
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3904
    Registrado : 14/08/2013

    Re: [Resolvido]Erro na execução de IF quando é diferente de 0

    Mensagem  FabioPaes em 14/5/2018, 23:05

    Poste o Exemplo por favor, e nos ensine a simular o erro por favor!!!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5468
    Registrado : 15/03/2013

    Re: [Resolvido]Erro na execução de IF quando é diferente de 0

    Mensagem  ahteixeira em 15/5/2018, 10:00

    Olá a todos

    David Gomes, seja bem vindo ao fórum.
    O título do tópico foi ajustado (espero que esteja deacordo com a dúvida).

    Será melhor fazer como o colega Fabio Paes sugeriu, se tiver dúvidas veja como fazer:
    [Você precisa estar registrado e conectado para ver este link.]

    Abraço a todos
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10111
    Registrado : 04/11/2009

    Re: [Resolvido]Erro na execução de IF quando é diferente de 0

    Mensagem  JPaulo em 15/5/2018, 13:52

    Acrescente esta instrução no inicio do seu código;

    Código:
    If Me.NewRecord Then Exit Sub


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver este link.]

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    DAVIDBHZ
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 21/09/2017

    Re: [Resolvido]Erro na execução de IF quando é diferente de 0

    Mensagem  DAVIDBHZ em 15/5/2018, 14:35

    bom dia, fiz como me Falou JPaulo. porem o codigo parou de funcionar de vez.

    If Me.NewRecord Then Exit Sub
    If CADASTRO_PEDIDO = 0 Then
    If MsgBox("PEDIDO NÃO FOI SALVO E SERA EXCLUIDO CASO FECHE O FORMULARIO, DESEJA SAIR MESMO ASSIM?", vbYesNo, "Excluir") = vbYes Then
    DoCmd.RunCommand acCmdDeleteRecord
    MsgBox "Registro apagado", vbInformation, "Excluído"
    DoCmd.Close
    Else
    Cancel = True

    End If
    Else
    DoCmd.Close
    End If

    tentei colocar Doncmd.Close logo apos o seu código tambem mas não deu em nada. meu banco de dados esta muito grande, e cheio de consultas que ligam a esse formulario, impossivel de criar um exemplo com parte dele para chegar nesse resultado que ja e final com um tamanho que o anexo permita!! !! estou so colocando os detalhes
    avatar
    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1275
    Registrado : 21/01/2012

    Re: [Resolvido]Erro na execução de IF quando é diferente de 0

    Mensagem  Cláudio Más em 15/5/2018, 14:41

    Sendo um novo registro, nada deve ocorrer mesmo, de acordo com o código.

    Já testou em um registro existente?
    O que deveria ocorrer quando for um novo registro?
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10111
    Registrado : 04/11/2009

    Re: [Resolvido]Erro na execução de IF quando é diferente de 0

    Mensagem  JPaulo em 15/5/2018, 14:44

    E já agora com a permissão do Claudio, em que evento você está a usar as instruções ?


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver este link.]

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    DAVIDBHZ
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 21/09/2017

    Re: [Resolvido]Erro na execução de IF quando é diferente de 0

    Mensagem  DAVIDBHZ em 15/5/2018, 14:59

    estou usando no evento ao clicar, em um botão, em registro existente ele faz o que foi criado, compara o meu campo, se o campo estiver marcado como sim, ele fecha o formulário, se tiver marcado como não ele exibe uma mensagem falando que o registro não foi salvo, que será excluído caso a pessoa saia, e ela tem a opção de não sair, e salva o registro antes, ou sair e o registro ser excluído.  eu preciso que caso o registro seja um novo registro sem nenhum dado. ele simplesmente sair sem perguntar nada.
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10111
    Registrado : 04/11/2009

    Re: [Resolvido]Erro na execução de IF quando é diferente de 0

    Mensagem  JPaulo em 15/5/2018, 15:07

    Substitua a instrução anterior por esta;

    Código:
    If Me.NewRecord Then
        On Error Resume Next
        DoCmd.Close
    End If


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver este link.]

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    DAVIDBHZ
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 21/09/2017

    Re: [Resolvido]Erro na execução de IF quando é diferente de 0

    Mensagem  DAVIDBHZ em 15/5/2018, 15:36

    funcionou em partes, fechou o formulario, mas caiu no outro if tbm, e excluiu um registo que não existe, queria que fechasse direto


    If Me.NewRecord Then
    On Error Resume Next
    DoCmd.Close
    End If

    If CADASTRO_PEDIDO = 0 Then
    If MsgBox("PEDIDO NÃO FOI SALVO E SERA EXCLUIDO CASO FECHE O FORMULARIO, DESEJA SAIR MESMO ASSIM?", vbYesNo, "Excluir") = vbYes Then
    DoCmd.RunCommand acCmdDeleteRecord
    MsgBox "Registro apagado", vbInformation, "Excluído"
    DoCmd.Close
    Else
    Cancel = True

    End If
    Else
    DoCmd.Close
    End If

    DAVIDBHZ
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 21/09/2017

    Re: [Resolvido]Erro na execução de IF quando é diferente de 0

    Mensagem  DAVIDBHZ em 15/5/2018, 15:40

    resolvi. Obrigado JPaulo e a todos!!


    If Me.NewRecord Then
    On Error Resume Next
    DoCmd.Close
    Else

    If CADASTRO_PEDIDO = 0 Then
    If MsgBox("PEDIDO NÃO FOI SALVO E SERA EXCLUIDO CASO FECHE O FORMULARIO, DESEJA SAIR MESMO ASSIM?", vbYesNo, "Excluir") = vbYes Then
    DoCmd.RunCommand acCmdDeleteRecord
    MsgBox "Registro apagado", vbInformation, "Excluído"
    DoCmd.Close
    Else
    Cancel = True

    End If
    Else
    DoCmd.Close
    End If
    End If
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10111
    Registrado : 04/11/2009

    Re: [Resolvido]Erro na execução de IF quando é diferente de 0

    Mensagem  JPaulo em 15/5/2018, 15:53

    Ae está, fuçando vai lá.

    Obrigado pelo retorno o forum agradece.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver este link.]

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

      Data/hora atual: 24/9/2018, 05:16