Ir para conteúdo
Fórum Script Brasil
  • 0

Socorro! Data Access Error


Artesio

Pergunta

Tenho um sistema em VB 6 utilizando Banco de Dados Access 97 aceesado via DAO (o sistema foi desenvolvido originalmente em VB 5) que funciona há um tempão. Mas após reisntalar o Windows e executar o setup da aplicação o programa não consegue mais acessar o BD, dando "Data Access Error". Como o cliente é em uma cidade distante, não sei o que foi feito na reinstalação do windows. Alguém tem alguma sugestão?

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

A localização do Banco de dados é informada pelo usuário, da primeira vez que o programa é executado e armazenado no Registro do Windows , pois o programa roda em várias máquinas em rede, o que poderia estar acontecendo é o usuário informar o caminho errado, mas a rotina abaixo impede que isso aconteça:

If UCase(Dir(Text1 & "CUSTOS.mdb")) <> "CUSTOS.MDB" Then

MsgBox "Não foi possível encontrar o Banco de Dados CUSTOS.MDB no caminho especificado!", vbInformation, "Custos"

Text1.SetFocus

Exit Sub

End If

SaveSetting App.Title, "Settings", "NetPath", Text1

sWorkDir = Text1

sNetPath = Text1 & "Custos.mdb"

sNetPath1 = Text1 & "CustosNew.mdb"

sNetDrv = Mid(Text1, 1, 2)

Unload Me

Text1 aí no caso é uma text box onde você pode escrever o path ou então montar a string a partir de uma DriveListBox e uma DirListBox.

sNetPath é uma variável global onde está armazenado o caminho do BD.

Na carga do sistema a segunite rotina é executada:

Private Sub MDIForm_Load()

sNetPath = GetSetting(App.Title, "Settings", "NetPath", "C:\Arquivos de Programas\Hellanto\") & "Custos.mdb"

sNetPath1 = GetSetting(App.Title, "Settings", "NetPath", "C:\Arquivos de Programas\Hellanto\") & "CustosNew.mdb"

sNetDrv = Mid(sNetPath, 1, 2)

sWorkDir = GetSetting(App.Title, "Settings", "NetPath", "C:\Arquivos de Programas\Hellanto")

On Error GoTo pathError

Exit Sub

pathError:

MsgBox "Pasta '" & sWorkDir & "' não existe. " & Chr(10) & "Verifique a localização do Banco de Dados.", vbCritical

End Sub

O que pode estar acontecendo é algum furo nessas rotinas, só que esse troço sempre funcionou há mais e 7 anos.

"C:\Arquivos de Programas\Hellanto\" é o caminho padrão para a máquina que acessa o BD locamente, esse valor é carregado somente quando não existe a chave no registro para que as varáveis não fiquem vazias.

O nome da chave no registro tá certinha:

"HKEY_CURRENT_USER\Software\VB and VBA Program Settings\Hellanto\Settings""

e o valor de NrtPath é "C:\Arquivos de programas\Hellanto\"

Aproveitando a deixa, quando o programa é instalado dá sempre um erro referentente à CLSID da Dao350.dll, só que eu uso a Dao360.dll. Toda vez o cliente tem que copiar a Dao350 e registrar manualmente. Já vasculhei todos ps fontes (no Edit do DOS) e não encontrei nenhuma referencia à Dao350. Alguma dica?

Outra que não registra nem por um decreto é a OCX do Crystal Report. mad.gif

Link para o comentário
Compartilhar em outros sites

  • 0

se já tento sabe se o endereço do banco de dados que é carregado do registro do windows é um endereço valido, tipo, aconteceu isso comigo uma vez, eu gravava no registro só q ao le vinha diferente...vinha vazia do registro e dai é logico q não ia acha o banco...ou as vezes nem achava o registro...eu particularmente não gosto de usar essa função de getsettings e savesettings...acho meio estranho...

valeu...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,7k
×
×
  • Criar Novo...