|
Postada em 23/10/2007 08:26 hs
Olá, montei meu primeiro projetinho com banco de dados. Estou tentando colocar o .mdb na rede aqui da empresa para as secretárias acessarem simultaneamente. Já que se trata de uma agenda. Eu declarei em General Declarations: Public Arquivo As Database ALÉM DOS RECORDSET'S E no formload: Tenho que fazer algo diferente, pq quando tento acessar de uma segunda máquina ocorre o seguinte erro: DIZ QUE O MECANISMO JET NÃO PODE ABRIR O .MDB POIS ESTE FOI ABERTO EM MODO EXCLUSIVO POR OUTRO USUÁRIO. Se puderem me ajudar...
|
|
|
|
Álvaro
|
GUARULHOS SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 23/10/2007 08:56 hs
Leandro Bom Dia Eu tenho um banco de dados da minha rede também e utilizo o comando abaixo Set Db = OpenDatabase(App.Path & "Nota_Fiscal.mdb")
O comando app.path guarda o caminho até banco de dados, ou seja não é necessário colocar o caminho todo ex: "//servidor/c/banco/banco.mdb" nesse caso ficaria apenas assim (app.path & "/banco.mdb"), e o meu banco é acessado por várias máquinas ao mesmo tempo
Obs: As barras estão invertidas, pois aqui no site elas somem se colocadas da forma correta
Qualquer dúvida posta ai
Abraço e que DEUS te abençõe, espero poder ter te ajudado Eu sou o Senhor, o DEUS de vocês; eu os seguro pela mão e lhes digo; Não fiquem com medo, pois eu os ajudo Isaias 41:13
|
|
|
|
Postada em 23/10/2007 09:07 hs
Leandro coloca o código inteiro de acesso que vc está utilizando, pois o erro está no seu código de acesso, provavelmente ele deve estar abrindo em modo pessimist. Flw. T+
João Carlos Junior Administrador de Redes - Windows 2003 Srv, Linux Desenvolvedor Visual Basic 6.0 com Access, SQL Server, VB .Net e Crystal Reports X Iniciante em C# e ASP .NET
|
|
|
|
Postada em 23/10/2007 09:54 hs
OK vou usar o comando App.PAth, uma dúvida ele pega o caminho do projeto certo? Se o bando de dados estiver em uma outra pasta não é possível utilizã-lo correto? Mesmo assim não funcionou continua dando o mesmo erro: Segue código de conexão: General Declarations: Public Arquivo As Database Public Nomes As Recordset Public Locais As Recordset Public Areas As Recordset Public Funcionarios As Recordset
Private Sub Form_Load() Dim Relacionamento As String Set Arquivo = OpenDatabase(App.Path & "Agenda.mdb", False) Set Nomes = Arquivo.OpenRecordset("TbFuncionario", dbOpenDynaset) Set Locais = Arquivo.OpenRecordset("TbLocal", dbOpenDynaset) Set Areas = Arquivo.OpenRecordset("TbArea", dbOpenDynaset) Relacionamento = "SELECT * " _ + "FROM TbFuncionario, TbLocal, TbArea " _ + "WHERE TbFuncionario.CodLocal = TbLocal.CodLocal;" Set Funcionarios = Arquivo.OpenRecordset(Relacionamento, dbOpenDynaset) Funcionarios.MoveMin End Sub
Já agradeço pela atenção...
|
|
|
Álvaro
|
GUARULHOS SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 23/10/2007 10:31 hs
Leandro tira o False depois do agenda.mdb coloca apenas como eu passei para você e o dbopendynaset troca por dbopentable, pois o dynaset é modo exclusivo, pelo que eu me lembre, me corrijam se eu falei besteira sobre o dynaset Set Arquivo = OpenDatabase(App.Path & "Agenda.mdb") Set Nomes = Arquivo.OpenRecordset("TbFuncionario", dbOpenTable)
No caso o app.path ele pega o caminho até onde está o executável, se por acaso o banco de dados estiver em outro lugar, tem dois caminhos fáceis, primeiro se for um diretório fixo, coloca o caminho todo no lugar do app.path, agora se variar pode incluir um config.ini e nesse config colocar o caminho do banco
Abraço e que DEUS te abençõe, espero poder ter te ajudado Eu sou o Senhor, o DEUS de vocês; eu os seguro pela mão e lhes digo; Não fiquem com medo, pois eu os ajudo Isaias 41:13
|
|
|
|
Postada em 23/10/2007 10:39 hs
Estranho... o modo que vc está abrindo está correto: OpenDatabase(App.Path & "Agenda.mdb", False) Este false é para abrir em modo NÃO EXCLUSIVO. Só omita o false e teste. Caso ainda dê o erro faça um outro bd no mesmo local do outro e abra em modo NÃO EXCLUSIVO. Tente abrir também em mais de uma máquina para verificar.
|
|
|
|