MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext)

    avatar
    werlewow
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 09/10/2017

    [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext) Empty [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext)

    Mensagem  werlewow em 15/1/2018, 06:21

    Bom dia, tenho um formulário vinculado a uma tabela. O objetivo do usuário é ver o cliente e decidir se vai ignora-lo ou contata-lo (isso não vem ao caso).
    O problema é que usei o comando VBA para assim que for apertado o botão ele vai para o próximo registro automaticamente.
    (usei  DoCmd.RunCommand acCmdRecordsGoToNext)
    Até ai, tudo certo, o problema é quando ele chega no ultimo registro, porque ali ele da um erro "o comando ou ação "registroirparaoproximo" não esta disponível agora.
    (segue foto em anexo).
    Vou colar todo o COD VBA utilizado, perceba que o comando citado esta por ultimo.

    Obrigado

    Private Sub Comando31_Click()
    If MsgBox("Tem certeza que deseja ignorar novamente esse cliente? Lembre-se de preencher o campo 'observação'", vbYesNo, "Enviar cliente para ignorados") = vbYes Then
               
    Dim codigo As Integer
    codigo = Me.Cod_Ct.Value    
    SQL = "UPDATE tb_ignorar SET Data_novo_contato = '" & Now() + 30 & "' WHERE Cod_Ct = " & codigo & ""
    CurrentDb.Execute SQL
    SQL = "INSERT INTO  tb_contato(Nome_Cliente,Data_Registro,Motivo_Contato,Nome_Contato,TEL,situação,observação) VALUES ('" & Me.CLIENTE_NOME.Value & "','" & Now() & "','Parou de comprar','" & Me.CLIENTE_CONTATO.Value & "','" & Me.CLIENTE_TELEFONE.Value & "','Cliente ignorado','" & Me.Observação.Value & "')"
    CurrentDb.Execute SQL
    DoCmd.RunCommand acCmdRecordsGoToNext
    End If
    End Sub
    tauron
    tauron
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1224
    Registrado : 07/12/2011

    [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext) Empty Re: [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext)

    Mensagem  tauron em 15/1/2018, 06:50

    Fiquei confuso agora, vamos ver se entendi:

    Supondo que tenha 10 registros e voce vai clicando no botao para visualizar o proximo registro e chegando no ultimo ele da erro?

    Pergunto:

    Este ultimo registro que voce menciona é o 9 ou 10.
    avatar
    werlewow
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 09/10/2017

    [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext) Empty Re: [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext)

    Mensagem  werlewow em 15/1/2018, 07:09

    Não, não é bem isso.
    Eu vou apertando o botão ali que mostrei o código, no caso vou ignorando os registros, quando faço isso, ele executa o comando (INSERT INTO e UPDATE) que mostrei ali, tudo certinho, e por ultimo queria que fosse automaticamente pro próximo registro, sem precisar apertar um botão para ir por próximo. Por isso usei aquele código.
    Como disse, esta funcionando perfeitamente, porém no registro 10/10 ele tenta ir pro próximo e da erro...no caso é obvio que não conseguiria ir para o próximo, pois não existe o próximo registro. O problema é que ao invés de mostrar alguma mensagem do tipo "não pode ir para o próximo registro" e o usuário apenas da um OK e pronto, não, ele da um erro e manda depurar o código..

    Obrigado

    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext) Empty Re: [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext)

    Mensagem  FabioPaes em 15/1/2018, 08:11

    olá, antes de Ir para o Próximo Registro, deve verificar se já não está no Ultimo... Se ja for o Ultimo Registro, nao executa o Comando!

    Mas antes, mude o comando para esse: DoCmd.GoToRecord , , acNext

    Ou simplesmente Trate esse erro ( Nº ) e quando ele Ocorrer nesse botão, emita uma mensagem pro usuário informando que ja está no ultimo registro...


    .................................................................................
    _____________________________________________________________________
    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
    werlewow
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 09/10/2017

    [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext) Empty Re: [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext)

    Mensagem  werlewow em 15/1/2018, 10:46

    Trocar o código não funcionou, deu o mesmo erro.
    Sou bem iniciante em VBA, como faz para tratar o erro?

    Obrigado
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext) Empty Re: [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext)

    Mensagem  FabioPaes em 15/1/2018, 10:54

    Coloque esse Código e faça o Teste:

    Código:


    Private Sub Comando31_Click()
    On Error GoTo F 'Se ocorrer qualquer erro, pulará direto para a Variavel F:
    If MsgBox("Tem certeza que deseja ignorar novamente esse cliente? Lembre-se de preencher o campo 'observação'", vbYesNo, "Enviar cliente para ignorados") = vbYes Then
           
        Dim codigo As Integer
        codigo = Me.Cod_Ct.Value
        SQL = "UPDATE tb_ignorar SET Data_novo_contato = '" & Now() + 30 & "' WHERE Cod_Ct = " & codigo & ""
        CurrentDb.Execute SQL
        SQL = "INSERT INTO  tb_contato(Nome_Cliente,Data_Registro,Motivo_Contato,Nome_Contato,TEL,situação,observação) VALUES ('" & Me.CLIENTE_NOME.Value & "','" & Now() & "','Parou de comprar','" & Me.CLIENTE_CONTATO.Value & "','" & Me.CLIENTE_TELEFONE.Value & "','Cliente ignorado','" & Me.Observação.Value & "')"
        CurrentDb.Execute SQL
        DoCmd.RunCommand acCmdRecordsGoToNext
    End If
    'Início do Tratamento de erros, ignorando o erro 2046
    F:
    Select Case Err.Number
        'Erros Ignorados
        Case 0, 2046 'O Erros Ignorados
            Err.Number = 0
            MsgBox "Já Está no Ultimo Registro!!!", vbCritical, "Atenção!!!"
        Case Else
        MsgBox "Nº Erro: " & Err.Number & " - " & Err.Description, vbInformation, "Um erro Ocorreu, Informe ao Aministrador"
    End Select
    End Sub


    .................................................................................
    _____________________________________________________________________
    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
    werlewow
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 09/10/2017

    [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext) Empty Re: [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext)

    Mensagem  werlewow em 15/1/2018, 11:10

    Estudei esse seu codigo, muito bacana, porem ele me da aquela msg box toda vez que clico no botão, e nao só quando é o ultimo. Achei bem estranho pois so deveria dar a mensagem se o erro aparecesse certo? e o erro só aparece no ultimo registro, nos outros nao..
    o que acha?

    obrigado
    avatar
    werlewow
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 09/10/2017

    [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext) Empty Re: [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext)

    Mensagem  werlewow em 15/1/2018, 11:19

    Segue banco de dados apenas com o formulário que esta dando o problema.
    Ocorre quando apertado o botão ignorar novamente.

    Obrigado

    https://www.dropbox.com/s/pigeoorkc476p9g/Banco%20de%20dados%20ACCESS%202.0%20%283%29.rar?dl=0
    tauron
    tauron
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1224
    Registrado : 07/12/2011

    [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext) Empty Re: [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext)

    Mensagem  tauron em 15/1/2018, 11:25

    Amigo qual a versão que vc utiliza? Se puder converter em 2007. Não consegui abrir.
    avatar
    werlewow
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 09/10/2017

    [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext) Empty Re: [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext)

    Mensagem  werlewow em 15/1/2018, 11:34

    Uso 2016, Segue em um formato anterior, espero q de certo

    https://www.dropbox.com/s/gp85c4tifiqvw23/problema1.mdb?dl=0
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext) Empty Re: [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext)

    Mensagem  FabioPaes em 15/1/2018, 12:19

    Mude o Codigo para:

    Código:

    On Error GoTo F 'Se ocorrer qualquer erro, pulará direto para a Variavel F:
    If MsgBox("Tem certeza que deseja ignorar novamente esse cliente? Lembre-se de preencher o campo 'observação'", vbYesNo, "Enviar cliente para ignorados") = vbYes Then
           
        Dim codigo As Integer
        codigo = Me.Cod_Ct.Value
        SQL = "UPDATE tb_ignorar SET Data_novo_contato = '" & Now() + 30 & "' WHERE Cod_Ct = " & codigo & ""
        CurrentDb.Execute SQL
        SQL = "INSERT INTO  tb_contato(Nome_Cliente,Data_Registro,Motivo_Contato,Nome_Contato,TEL,situação,observação) VALUES ('" & Me.CLIENTE_NOME.Value & "','" & Now() & "','Parou de comprar','" & Me.CLIENTE_CONTATO.Value & "','" & Me.CLIENTE_TELEFONE.Value & "','Cliente ignorado','" & Me.Observação.Value & "')"
        CurrentDb.Execute SQL
        DoCmd.RunCommand acCmdRecordsGoToNext
    End If
    'Início do Tratamento de erros, ignorando o erro 2046
    F:
    Select Case Err.Number
        'Erros Ignorados
        Case 2046 'O Erros Ignorados
            Err.Number = 0
            MsgBox "Já Está no Ultimo Registro!!!", vbCritical, "Atenção!!!"
        Case 0
            Exit Sub
        Case Else
        MsgBox "Nº Erro: " & Err.Number & " - " & Err.Description, vbInformation, "Um erro Ocorreu, Informe ao Aministrador"
    End Select


    Coloquei um Case 0, para não aparecer sempre a mensagem qnd nao tiver erro.


    .................................................................................
    _____________________________________________________________________
    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!
    tauron
    tauron
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1224
    Registrado : 07/12/2011

    [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext) Empty Re: [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext)

    Mensagem  tauron em 15/1/2018, 12:29

    Olha o que aconteceu aqui com o arquivo .mdb:
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext) Empty Re: [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext)

    Mensagem  FabioPaes em 15/1/2018, 12:38

    Tauron meu amigo, no exemplo que o amigo postou, ele não colocou o código que sugeri e nem o código com problema, colocou macro... Mas eu editei o código e aqui funcionou certinho...


    .................................................................................
    _____________________________________________________________________
    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
    werlewow
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 09/10/2017

    [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext) Empty Re: [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext)

    Mensagem  werlewow em 15/1/2018, 12:49

    Nossa, agora que vi que o link que mandei estava com o arquivo errado, desculpem.
    De qualquer forma esse ultimo código deu certinho, bem o que precisava.

    Muito obrigado a todos! resolvido!!
    tauron
    tauron
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1224
    Registrado : 07/12/2011

    [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext) Empty Re: [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext)

    Mensagem  tauron em 15/1/2018, 13:18

    Então Fabio, eu postei logo porque quando fiz o teste funcionou, entao nem olhei em modo design. Confesso que fiquei confuso. Mas que bom que ja corrigiu o erro.
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3633
    Registrado : 29/06/2012

    [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext) Empty Re: [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext)

    Mensagem  Noobezinho em 15/1/2018, 13:40

    Fabio

    O código em vba está no botão Ignorar novamente, os botões no rodapé é que estão com macros.

    Aqui está meu código:

    Código:

    Private Sub Comando31_Click()
    Dim rst As Recordset
    On Error Resume Next
    Set rst = Me.RecordsetClone

    If MsgBox("Tem certeza que deseja ignorar novamente esse cliente? Lembre-se de preencher o campo 'observação'", vbYesNo, "Enviar cliente para ignorados") = vbYes Then
           
       Dim codigo As Integer
       codigo = Me.Cod_Ct.Value
       SQL = "UPDATE tb_ignorar SET Data_novo_contato = '" & Now() + 30 & "' WHERE Cod_Ct = " & codigo & ""
       CurrentDb.Execute SQL
       SQL = "INSERT INTO  tb_contato(Nome_Cliente,Data_Registro,Motivo_Contato,Nome_Contato,TEL,situação,observação) VALUES ('" & Me.CLIENTE_NOME.Value & "','" & Now() & "','Parou de comprar','" & Me.CLIENTE_CONTATO.Value & "','" & Me.CLIENTE_TELEFONE.Value & "','Cliente ignorado','" & Me.Observação.Value & "')"
       CurrentDb.Execute SQL
       DoCmd.RunCommand acCmdRecordsGoToNext
    End If
    With rst
       If .AbsolutePosition = .RecordCount - 1 Then
           MsgBox "Já Está no Ultimo Registro!!!", vbCritical, "Atenção!!!"
          'aqui pode colocar o comando para ir para o primeiro registro, caso queira:
          'MoveFirst
       Else
          .MoveNext
       End If
       Me.Bookmark = .Bookmark
    End With
    End Sub

    Tirando  a SQL, o código pode ser usado no botão próximo do rodapé.

    [ ]'s
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

    [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext) Empty Re: [Resolvido]Problema ao ir para o próximo registro formulário (acCmdRecordsGoToNext)

    Mensagem  FabioPaes em 15/1/2018, 13:50

    Que bom que resolveu! Até a próxima se Deus quiser!

    Noobezinho Meu amigo, fui direto no Botão de Próximo>> ! Fica mais uma forma de solucionar o Problema!!!


    .................................................................................
    _____________________________________________________________________
    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!

      Data/hora atual: 27/10/2020, 00:08