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]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!
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2807
    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
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2807
    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
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2807
    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: Dom 24 Set 2017, 02:16