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]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 03 Mar 2016, 18: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)
    avatar
    =>Nois
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

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

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

    Mensagem  =>Nois em Sex 04 Mar 2016, 15: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... Descanse e tente novamente!

    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 04 Mar 2016, 16: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 07 Mar 2016, 16:00

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

    Respeito às Regras 100%

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

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

    Mensagem  JPaulo em Seg 07 Mar 2016, 16: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


    .................................................................................
    Contribua com o maximoaccess, 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.]

    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 07 Mar 2016, 17: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í?
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

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

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

    Mensagem  JPaulo em Seg 07 Mar 2016, 18: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.


    .................................................................................
    Contribua com o maximoaccess, 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.]

    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 09 Mar 2016, 11:15

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

      Data/hora atual: Ter 27 Jun 2017, 11:29