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


3 participantes

    Update simultâneo em registros diferentes na mesma tabela

    avatar
    dclsouza
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 13/02/2017

    Update simultâneo em registros diferentes na mesma tabela Empty Update simultâneo em registros diferentes na mesma tabela

    Mensagem  dclsouza 13/2/2017, 12:34

    Olá, tenho uma aplicação em Delphi utilizando o BD access.

    Estou tentando realizar vários updates ao mesmo tempo na tabela, porém em registros diferentes. Ao realizar isso o access apresenta o erro: "Não foi possível atualizar; atualmente bloqueado". Apesar de ser a mesma tabela, por ser registros diferentes, imagino que o access consiga gerenciar, mas que depende de alguma configuração.

    Há alguma configuração que seja possível essa operação?

    Desde já obrigado!
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    Update simultâneo em registros diferentes na mesma tabela Empty Re: Update simultâneo em registros diferentes na mesma tabela

    Mensagem  Noobezinho 18/2/2017, 13:52

    Olá amigo

    Como você mesmo disse, tua aplicação é em Delphi e não em MS Access.

    Embora esteja utilizando um banco de dados Access para guardar os dados, o algorítimo que irá usar

    será em delphi, portanto, sugiro que procure um fórum que trate de programação

    em delphi.

    No futuro, se quiser tiver duvidas em programação em MS Access(VBA), estaremos a disposição.

    Boa sorte!

    [ ]'s


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    Update simultâneo em registros diferentes na mesma tabela Empty Re: Update simultâneo em registros diferentes na mesma tabela

    Mensagem  Cláudio Más 18/2/2017, 14:23

    Fiquei curioso com esse "update simultâneo".
    Talvez esteja iniciando operações com Edit sem finalizar com Update, antes de iniciar outro Edit...
    Poderia postar o código?
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    Update simultâneo em registros diferentes na mesma tabela Empty Re: Update simultâneo em registros diferentes na mesma tabela

    Mensagem  Noobezinho 18/2/2017, 16:08

    Claudio

    Entende de programação em Delphi?


    Em um aplicativo para imobiliária eu faço isso, usando loop entre os registros de um tabela

    e atualizando os outros de outras tabelas.

    Isso pode ser feito via openrecordset ou consulta atualização.

    Vai do gosto do freguês. Razz

    No Access !!

    Wink


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    Update simultâneo em registros diferentes na mesma tabela Empty Re: Update simultâneo em registros diferentes na mesma tabela

    Mensagem  Cláudio Más 18/2/2017, 18:59

    Ok, mas isso não é "update simultâneo", seja lá o que isso quer dizer ...  Surprised

    De Delphi, só sei que usava o Pascal como linguagem de programação e uma IDE semelhante ao Visual Studio.

    Talvez o dclsouza esteja tentando atualizar um recordset não atualizável.
    Mas pela mensagem de erro, parece ser edit sem update mesmo...
    Isso dá erro em qualquer linguagem... Smile
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    Update simultâneo em registros diferentes na mesma tabela Empty Re: Update simultâneo em registros diferentes na mesma tabela

    Mensagem  Noobezinho 18/2/2017, 19:45

    Bem

    Plagiando: Nunca vi, nem experimentei, só ouvi falar.

    De Access, ele só está usando o BE com as tabelas.

    Um abraço amigo.


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    dclsouza
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 13/02/2017

    Update simultâneo em registros diferentes na mesma tabela Empty Re: Update simultâneo em registros diferentes na mesma tabela

    Mensagem  dclsouza 3/3/2017, 21:21

    Noobezinho: apesar de ser programação delphi, a limitação está no Banco e não na programação. A questão é que é um sistema que é instanciado várias vezes, ou seja, o mesmo sistema é executado e ficam executando em paralelo no computador. Apesar de várias execuções, preciso que o banco de dados seja único. Logo, alguns updates acabam sendo executados ao mesmo tempo na mesma tabela, mas em registros diferentes.

    Cláudio Más: O código é muito simples, mas como o foco aqui não é delphi, está comentado o que é feito em cada linha. Como pode ver, ele abre e executa imediatamente. O problema é que tem 4 ou 5 sistemas executando a mesma funcionalidade.
    Segue abaixo:

    var
    qrComando: TADOQuery; //Declaração do objeto para executar os comandos no BD

    begin
    qrComando:=TADOQuery.Create(Self); //Criação do objeto na memória
    qrComando.Connection:=DMConexao.cnConexao; //Apontamento do outro objeto de conexão com o BD
    qrComando.SQL.Clear; //Limpa qualquer comando que estava no objeto
    qrComando.SQL.Add('UPDATE Tabela SET Campo=ValorQueQuero WHERE Codigo=1); //Adiciona o comando no objeto
    qrComando.ExecSQL; //Executa o comando
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    Update simultâneo em registros diferentes na mesma tabela Empty Re: Update simultâneo em registros diferentes na mesma tabela

    Mensagem  Cláudio Más 5/3/2017, 14:01

    dclsouza, o que deve estar ocorrendo é que algum usuário deve estar com um formulário aberto vinculado à mesma tabela do Update.

    Talvez possa ser resolvido controlando quando a tabela está em uso por algum usuário/formulário com uma variável booleana, e colocar "qrComando.ExecSQL" num loop até que a o formulário seja fechado e a variável fique true/false e o update possa ser executado.
    A variável booleana na verdade seria um campo criado para este fim em uma tabela no banco Access.
    avatar
    dclsouza
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 13/02/2017

    Update simultâneo em registros diferentes na mesma tabela Empty Re: Update simultâneo em registros diferentes na mesma tabela

    Mensagem  dclsouza 7/3/2017, 19:56

    Cláudio Más, infelizmente talvez esta seja a única saída mesmo: controlar para não permitir que os update sejam executados ao mesmo tempo. Para mim isso será muito ruim pois meu sistema é um robô e cada milésimo de segundo faz diferença no final.
    Imaginei que tivesse alguma configuração no Access que ele não bloqueasse essa situação.

    Outra possibilidade também é colocar o comando dentro de um Try..Except, onde o sistema tenta algumas vezes enquanto estiver acontecendo erro e, só mostra a mensagem ao usuário depois de uma certa quantidade de tentativas fracassadas.

    Não é o ideal, mas contorna o problema. Obrigado mesmo assim pessoal.

    Conteúdo patrocinado


    Update simultâneo em registros diferentes na mesma tabela Empty Re: Update simultâneo em registros diferentes na mesma tabela

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/11/2024, 01:30