Tenho um BD que fica numa pasta compartilhada ao qual outros usuário possuem acesso. Preciso que qndo um usuário esteja com este BD aberto os demais utilizadores não consigam abri-lo. Alguém sabe como posso fazer isso?????
2 participantes
Como impedir que vários usuários acessem o BD simultaneamente?
allexxnunes- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 36
Registrado : 11/03/2013
Avelino Sampaio- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 3900
Registrado : 04/04/2010
Ola!
Uma forma é vc criar um atalho no desktop com o comando EXCL.
Destino: C:\SuaPasta\SeuBd.accdb /EXCL
Sucesso!
Uma forma é vc criar um atalho no desktop com o comando EXCL.
Destino: C:\SuaPasta\SeuBd.accdb /EXCL
Sucesso!
.................................................................................
Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces
Clique AQUI e analise o custo beneficio do material oferecido.
allexxnunes- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 36
Registrado : 11/03/2013
Avelino, realmente o método acima é fácil. Porém se alguém mudar o BD de pasta não funcionará e eu estou pensando nos usuários leigos que não saberão criar novamente esse atalho. Então, preciso de uma solução para que esse BD seja aberto sempre em mmodo exclusivo, não importando em qual pasta esteja ou em qual computador ele seja aberto.
Avelino Sampaio- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 3900
Registrado : 04/04/2010
Nas "Opções do Access" > Clique na Guia Avançado > Passe o "Modo de abertura padrão" para EXCLUSIVO
Sucesso!
Sucesso!
.................................................................................
Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces
Clique AQUI e analise o custo beneficio do material oferecido.
allexxnunes- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 36
Registrado : 11/03/2013
Perfeito. Mais fácil do que eu imagina.
Obrigado. Forte abraço!
Tópico encerrado.
Obrigado. Forte abraço!
Tópico encerrado.
allexxnunes- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 36
Registrado : 11/03/2013
Reabrindo a discussão.
Bom, fazendo o procedimento que o Avelino sugeriu ainda é possível abrir o BD. Aparece uma mensagem dizendlo que não é possível abrir no modo exclusivo mas que é possível abrir no modo compartilhado e pergunta se o usuário deseja abri-lo assim. Conclusão: o usuário ainda consegue abrir e fazer alterações no BD mesmo com outro usuário utilizando.
Preciso de outra alternativa. Sugestões?????????
Bom, fazendo o procedimento que o Avelino sugeriu ainda é possível abrir o BD. Aparece uma mensagem dizendlo que não é possível abrir no modo exclusivo mas que é possível abrir no modo compartilhado e pergunta se o usuário deseja abri-lo assim. Conclusão: o usuário ainda consegue abrir e fazer alterações no BD mesmo com outro usuário utilizando.
Preciso de outra alternativa. Sugestões?????????
allexxnunes- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 36
Registrado : 11/03/2013
Mais algum metodo?
allexxnunes- Novato
- Respeito às regras :
Sexo :
Localização :
Mensagens : 36
Registrado : 11/03/2013
o problema do método citrado acima é que todos os Bancos de dados abrirão no modo exclusivo, pois a configuração é do access. E no meu caso preciso que apenas um banco de dados específico abra no modo exclusivo, os demais BD podem ser usados de modo compartilhado.
Avelino Sampaio- Developer
- Respeito às regras :
Sexo :
Localização :
Mensagens : 3900
Registrado : 04/04/2010
Opa!
Está correto, a configuração é do Access e não do BD.
Vc pode bloquear por código. Supondo que vc use um formulário principal, ou seja, estará sempre aberto. Se não tiver este formulário, deverá então criar um formulário com uma listbox. Este formulário deve ser carregado na inicilaização e ficar oculto.
A idéia é carregar a listaBox com qualquer dado de uma tabela do seu back-end. Só que o acesso a tabela será via OpenDatabase e num dos argumentos irá configurar a abertura no modo EXCLUSIVO
Algo assim, no evento "ao abrir" do formulário:
Aguardamos o resultado
Está correto, a configuração é do Access e não do BD.
Vc pode bloquear por código. Supondo que vc use um formulário principal, ou seja, estará sempre aberto. Se não tiver este formulário, deverá então criar um formulário com uma listbox. Este formulário deve ser carregado na inicilaização e ficar oculto.
A idéia é carregar a listaBox com qualquer dado de uma tabela do seu back-end. Só que o acesso a tabela será via OpenDatabase e num dos argumentos irá configurar a abertura no modo EXCLUSIVO
Algo assim, no evento "ao abrir" do formulário:
Option Compare Database
Private bdlista As DAO.Database
Private rslista As DAO.Recordset
Private Sub Form_Open(Cancel As Integer)
Private tbl As DAO.TableDef
Set bdlista = OpenDatabase("\\SeuServidor\PastaBD\SeuBack_end.accdb", True, False, ";PWD=SuaSenha"
Set rslista = bdlista.OpenRecordset("tblusuários", 4)
Set Me!Lista.Recordset = rslista
End sub
TRUE na linha do OpendataBase garante a abertura no modo exclusivo.
No evento fechar
Private Sub Form_Close()
rslista.Close
Set rslista = Nothing
Set bdlista = Nothing
End Sub
Aguardamos o resultado
.................................................................................
Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces
Clique AQUI e analise o custo beneficio do material oferecido.
Conteúdo patrocinado
» [Resolvido]Erro/Bloqueio de varios usuários no BD simultaneamente
» [Resolvido]Retornar os e-mails de vários usuários em uma tabela
» [Resolvido]Envio de emails mensagem para varios usuários.
» [Resolvidos]Uso exclusivo de formulário em BD compartilhado, impedir usuários simultaneos
» [Resolvido]varios usuarios ao mesmo tempo
» [Resolvido]Retornar os e-mails de vários usuários em uma tabela
» [Resolvido]Envio de emails mensagem para varios usuários.
» [Resolvidos]Uso exclusivo de formulário em BD compartilhado, impedir usuários simultaneos
» [Resolvido]varios usuarios ao mesmo tempo