MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Problema ao editar Recordset - O registro está sendo editado

    Compartilhe

    eduyoda
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 01/03/2016

    [Resolvido]Problema ao editar Recordset - O registro está sendo editado

    Mensagem  eduyoda em Qui 3 Mar - 14:34

    Prezados,

    Recorro a vocês para a solução desse problema que vem me tirando a calma. Trata-se de uma simples aplicação em Access para controlar a frota da empresa. Duas tabelas apenas resolvem meu problema. A cada movimentação faço alterações também na tabela de cadastro do veículo (como a kilometragem do veículo e a informação se ele se encontra ou não no pátio. Pode ser que a lógica não seja a mais adequada, mas tentei fazer algo da maneira mais simples possível. Anexei o projeto para sua apreciação (compactei para ajustar o tamanho do fórum).
    Para simular o erro, basta tentar retornar um dos veículos que estão fora do pátio. No formulário "Inicio", Clique no botão "Retornar Veículos", clique duas vezes sobre a placa do veículo que deseja retornar e no formulário de retorno clique no botão "Retornar Veículo". Irá ocorrer o erro 3188, que indica que o registro não pode ser editado pois está em uso. Já debuguei a execução do aplicativo de todas as maneiras que conheço e não descobri o motivo desse erro.
    Aprecio imensamente qualquer ajuda dos colegas.

    Att.:
    Eduardo
    Anexos
    Portaria.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (4.1 Mb) Baixado 9 vez(es)

    =>Nois
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 532
    Registrado : 09/11/2012

    Re: [Resolvido]Problema ao editar Recordset - O registro está sendo editado

    Mensagem  =>Nois em Sex 4 Mar - 11:31

    depois da mensagem acrescente um salvar que resolve


    'Informa o usuário

    MsgBox "Veículo retornou com sucesso!", vbInformation

    DoCmd.Save


    .................................................................................
    [Você precisa estar registrado e conectado para ver esta imagem.] Att. Nois

    Se tudo não der certo reflita nessa frase: "Huguinho", "Zezinho" & "Luizinho"

    eduyoda
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 01/03/2016

    Re: [Resolvido]Problema ao editar Recordset - O registro está sendo editado

    Mensagem  eduyoda em Sex 4 Mar - 12:47

    Olá Lander, obrigado pela resposta. No entanto a alteração não resolve o problema. Inseri o código conforme sugerido e ocorre o mesmo problema. Tentei inserir a opção de salvar também antes da edição da RecordSet e também não resolve. Você teve sucesso ao alterar aí?

    eduyoda
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 01/03/2016

    Re: [Resolvido]Problema ao editar Recordset - O registro está sendo editado

    Mensagem  eduyoda em Seg 7 Mar - 12:00

    Olá pessoal, alguém tem alguma ideia de como resolvo esse problema?

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Problema ao editar Recordset - O registro está sendo editado

    Mensagem  JPaulo em Seg 7 Mar - 12:17

    Ola;

    Substitua o seu código do botão "Retornar Veículo" no form "RETORNO_FROTA", por este;

    Código:
    Private Sub btoSalvaRetFrota_Click()
        'Abre tabela FROTA para edição.
        Dim db4 As DAO.Database
        Dim rs4 As DAO.Recordset

            Set db4 = CurrentDb
            Set rs4 = db4.OpenRecordset("SELECT * FROM FROTA", dbOpenDynaset)

    Me.RecordLocks = 1

            rs4.MoveFirst
            Do Until rs4.EOF
                If rs4!CODIGO = CODIGO_VEICULO Then
                    rs4.Edit
                    'Aponta o veiculo como No Patio.
                    rs4!NO_PATIO = 1
                    'Altera o campo KM_BASE da tabela FROTA para o valor de KM_RETORNO.
                    rs4!KM_BASE = KM_RETORNO.Value
                    rs4.Update
                End If
                    rs4.MoveNext
            Loop
        
            rs4.Close
            Set rs4 = Nothing
            Set db4 = Nothing

        'Seta o campo REGRESSOU como Sim
        REGRESSOU = -1

        'Informa o usuário
        MsgBox "Veículo retornou com sucesso!", vbInformation

        'Fecha o formulário
        DoCmd.Close

    End Sub


    .................................................................................
    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.]

    eduyoda
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 01/03/2016

    Re: [Resolvido]Problema ao editar Recordset - O registro está sendo editado

    Mensagem  eduyoda em Seg 7 Mar - 13:18

    Olá JPaulo,
    Adicionando a linha "Me.RecordLocks = 1" ele bloqueia a edição do registro. Não consegui inserir as informações de retorno nem salvar o retorno do veículo, ele apresenta o seguinte erro:

    Erro em tempo de execução 2448 - Você não pode atribuir um valor a este objeto.


    Funcionou pra você aí?

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Problema ao editar Recordset - O registro está sendo editado

    Mensagem  JPaulo em Seg 7 Mar - 14:00

    Sim funciona;

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

    Além disso, você tem erros, por exemplo:

    'Seta o campo REGRESSOU como Sim
       REGRESSOU = 1

    Como é um campo boleano Sim/Nao, o valor de marcado é -1, desmarcado é zero.


    .................................................................................
    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.]

    eduyoda
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 01/03/2016

    Re: [Resolvido]Problema ao editar Recordset - O registro está sendo editado

    Mensagem  eduyoda em Qua 9 Mar - 7:15

    Perfeito JPaulo,
    Estou partindo do arquivo que você modificou.
    Muito grato.

      Data/hora atual: Qua 7 Dez - 14:14