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]Bloquear acesso de múltiplos usuários em formulário

    Compartilhe

    Mussato
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 23/10/2014

    [Resolvido]Bloquear acesso de múltiplos usuários em formulário

    Mensagem  Mussato em Ter 20 Jan 2015, 17:44

    Boa tarde,

    Depois que desenvolvi um formulário que ficará na rede percebi que existe o grande risco de mais de um usuário acessá-lo ao mesmo tempo, e especificamente neste essa situação poderia levar a um erro. Os senhores saberiam se existe algum jeito de identificar se o formulário está aberto e exibir uma mensagem de erro para outros usuários que tentem acessá-lo naquele instante?

    Alguma coisa como

    se formulario_X está aberto
          exibe mensagem para o usuario
          END
    senao
         exit sub


    Obrigado!

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Bloquear acesso de múltiplos usuários em formulário

    Mensagem  Noobezinho em Ter 20 Jan 2015, 21:40

    Olá Vinicius

    Existe sim, então vejamos:

    Se o formulário é para cadastro, ou seja para adicionar novos registros, então deve-se forçar a gravação do registro logo na abertura
    do formulário para que libere os códigos seguintes para os demais usuários.

    Se não é isso, quer simplesmente bloquear o formulário que está sendo usado, usamos uma flag (variável sinalizadora)
    para isso, siga os passos:

    Crie uma tabela(tblFrmAberto) com um campo tipo boolean (sim/não) de nome booAberto

    No evento Ao carregar do formulário:
    If Dlookup("[booAberto]","tblFrmAberto") = -1 then  'Se  o campo for verdadeiro,avisa e bloqueia o formulario
      msgbox" Esse formulário está sendo usando por outro usuário,  tente mais tarde",vbinformation,"Atenção"
      -comando para fechar o formulário
    else'  se for 0 ou falso o formulário não está aberto , então.. executa a consulta abaixo e abre o formulário
    Crie uma consulta atualização para mudar o campo booAberto para true/verdadeiro
    Endif


    No evento Ao fechar do mesmo formulário
    Crie outra consulta atualização para mudar o campo booAberto pra False e assim liberar o formulário para ser usado
    por outros usuários.


    []'s

    Noob


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .

    Mussato
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 23/10/2014

    Re: [Resolvido]Bloquear acesso de múltiplos usuários em formulário

    Mensagem  Mussato em Qua 21 Jan 2015, 17:38

    Valeu!


    .................................................................................
    V. Mussato
    Office Developer
    -------------------
    Windows 7 64 bits
    Office 2013

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Bloquear acesso de múltiplos usuários em formulário

    Mensagem  Noobezinho em Qua 21 Jan 2015, 18:14

    Valeu o retorno

    Boa sorte!

    Noob


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .

    Mussato
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 23/10/2014

    Re: [Resolvido]Bloquear acesso de múltiplos usuários em formulário

    Mensagem  Mussato em Qui 22 Jan 2015, 18:53

    Noobezinho,

    Só uma dúvida cara, no seu exemplo você colocou a rotina que troca o valor da tabela no evento que fecha ele, mas o que ocorreria se um usuário mal intencionado fechasse o access ou interrompesse o processo do access? A tabela não ficaria eternamente com o valor True e o formulario eternamente inacessível? Neutral


    .................................................................................
    V. Mussato
    Office Developer
    -------------------
    Windows 7 64 bits
    Office 2013

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Bloquear acesso de múltiplos usuários em formulário

    Mensagem  Noobezinho em Qui 22 Jan 2015, 22:15

    Sim , mas  todos os programas do windows, ser desligarmos ou faltar energia, sofrerá algum dano.
    Você como desenvolvedor do aplicativo, deve fazer de forma que o formulário não esteja bloqueado pra você, que apenas
    avise que alguém está usando, e então você pode mudar o status dele e assim liberar o formulário, entendeu?

    Relendo essa mensagem, entendi que podemos definir a variável booAberto = 0 na abertura do aplicativo.
    Assim, o formulário sempre estará liberado para o primeiro usuário que o acessar.



    [ ]'s

    Noob


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .

      Data/hora atual: Qua 07 Dez 2016, 08:35