MISTÉRIO NO BANCO DE DADOS ACCESS
Meus amigos, olhe só que loucura está acontecendo, um cliente estava usando o programa e teve que formatar o pc, falei pra ele guardar o banco de dados e depois que instalasse o programa apenas substituisse o bd original pelo antigo, até aà tudo bem, o grande mistério ocorre quando abrimos o programa os dados estão todos lá, porém ao abrir o bd manualmente ele está vazio.
Alguém já passou por algo assim??
Ah, quando copio o bd para outro pc ele não mostra os dados nem abrindo o programa, somente no pc dele mesmo.
é recomendado fazer esse processo?? Até porque é o único modo de preservar os dados quando se precisa formatar, esse
mesmo cliente teve problemas com uma formatação anterior pois o programa não estava aceitando o bd do backup, daà mandei ele copiar o executável e o bd para uma outra pasta e lá funcionou.
Alguém já passou por algo assim??
Ah, quando copio o bd para outro pc ele não mostra os dados nem abrindo o programa, somente no pc dele mesmo.
é recomendado fazer esse processo?? Até porque é o único modo de preservar os dados quando se precisa formatar, esse
mesmo cliente teve problemas com uma formatação anterior pois o programa não estava aceitando o bd do backup, daà mandei ele copiar o executável e o bd para uma outra pasta e lá funcionou.
Você instalou o programa dentro da pasta [Ô]Arquivos de Programas[Ô] e o banco de dados está na pasta do programa? Se sim então este é o problema.
A partir do Windows Vista (se não me engano) com a adição do UAC os programas que não são executados com permissão de administrador não podem fazer modificações em nenhum arquivo que está dentro das pastas de sistema (como Windows, Windows\System ou qualquer coisa dentro de Arquivos de Programas).
O problema dessa mudança é que programas antigos não seguiam as recomendações de boas práticas e gravavam dados dentro da pasta do programa (no Arquivos de Programas), e se simplesmente bloquear a gravação estes programas simplesmente dariam erro, para contornar isso a Microsoft fez com que qualquer programa que não tenha um manifesto quando tentem gravar algo dentro do Arquivos de Programas seja redirecionado para uma outra pasta chamada VIrtualStore, que fica em
C:\Users\<Usuario logado no Windows>\AppData\Local\VirtualStore
Dentro dela você vai ter as pastas do Arquivos de Programas contendo os arquivos modificados, então é ali que vai estar o seu banco de dados com os dados reais.
Eu diria para você mudar o local que grava o banco de dados ou no mÃnimo não instalar o programa dentro da pasta Arquivos de Programas, instale ele por exemplo em uma pasta dentro da Raiz do disco C, porém isso só contorna o problema, o correto mesmo seria gravar o arquivo em uma das pastas recomendadas para isso, que seria uma pasta criada dentro de %appdata% quando os dados devem ser do usuário logado ou dentro de %programdata% para dados que devem ser únicos no PC independente do usuário logado
A partir do Windows Vista (se não me engano) com a adição do UAC os programas que não são executados com permissão de administrador não podem fazer modificações em nenhum arquivo que está dentro das pastas de sistema (como Windows, Windows\System ou qualquer coisa dentro de Arquivos de Programas).
O problema dessa mudança é que programas antigos não seguiam as recomendações de boas práticas e gravavam dados dentro da pasta do programa (no Arquivos de Programas), e se simplesmente bloquear a gravação estes programas simplesmente dariam erro, para contornar isso a Microsoft fez com que qualquer programa que não tenha um manifesto quando tentem gravar algo dentro do Arquivos de Programas seja redirecionado para uma outra pasta chamada VIrtualStore, que fica em
C:\Users\<Usuario logado no Windows>\AppData\Local\VirtualStore
Dentro dela você vai ter as pastas do Arquivos de Programas contendo os arquivos modificados, então é ali que vai estar o seu banco de dados com os dados reais.
Eu diria para você mudar o local que grava o banco de dados ou no mÃnimo não instalar o programa dentro da pasta Arquivos de Programas, instale ele por exemplo em uma pasta dentro da Raiz do disco C, porém isso só contorna o problema, o correto mesmo seria gravar o arquivo em uma das pastas recomendadas para isso, que seria uma pasta criada dentro de %appdata% quando os dados devem ser do usuário logado ou dentro de %programdata% para dados que devem ser únicos no PC independente do usuário logado
ja tentou reparar o banco de dados?
Citação::
ja tentou reparar o banco de dados?
Marcelo, não tentei mas tenho quase certeza de que esse não é o problema pois o cliente tem mais de 100 registros e o bd está do tamanho
original de quando é instalado (372kb) tentei contato com ele agora à noite mas ele não estava em casa, vou tentar a dica do OCELOT e torcer para
que o banco de dados esteja na tal pasta C:\Users\<Usuario logado no Windows>\AppData\Local\VirtualStore
Assim que tiver o resultado posto aqui.
Caso não esteja conseguindo ver as tabelas, podem estar ocultas.
Olá, Mario vamos ver se consigo ajudar!
seguinte veja dentro do código fonte do sistema se o caminho do banco esta fixo tipo [Ô]C:\SISTEMA\BANCO.MDB[Ô] ou se esta App.Path & [Ô]\BANCO.MDB[Ô]
Para o primeiro caso (caminho fixo) você vai no computador do cliente onde esta o caminho em questão e verifique se o banco esta lá.
Para o segundo caso verifique onde o sistema (.exe) esta instalado e veja se existe um banco lá.
Caso já tenha realizado essas tentativas, faça então uma busca no C:\ do windows informando na busca o nome do banco e veja onde aparece mais bancos que não esteja junto com o sistema!
Caso ainda assim não estiver encontrado nada! Abra um Excel e vincule o seu banco com o mesmo e veja se consegue visualizar os dados, caso isso seja possÃvel
então salve todas as informações que existe dentro do banco e crie um banco novo, pois pode dar problemas futuros!
Espero ter ajudado
seguinte veja dentro do código fonte do sistema se o caminho do banco esta fixo tipo [Ô]C:\SISTEMA\BANCO.MDB[Ô] ou se esta App.Path & [Ô]\BANCO.MDB[Ô]
Para o primeiro caso (caminho fixo) você vai no computador do cliente onde esta o caminho em questão e verifique se o banco esta lá.
Para o segundo caso verifique onde o sistema (.exe) esta instalado e veja se existe um banco lá.
Caso já tenha realizado essas tentativas, faça então uma busca no C:\ do windows informando na busca o nome do banco e veja onde aparece mais bancos que não esteja junto com o sistema!
Caso ainda assim não estiver encontrado nada! Abra um Excel e vincule o seu banco com o mesmo e veja se consegue visualizar os dados, caso isso seja possÃvel
então salve todas as informações que existe dentro do banco e crie um banco novo, pois pode dar problemas futuros!
Espero ter ajudado
Jonathan, eu estou usando o método App.Path & [Ô]\BANCO.MDB[Ô] e o bd está na pasta, porém quando o abro com o Access as tabelas aparecem mas não há dados.
Eu havia feito a busca anteriormente pelo nome do bd em todo o computador mas ele só acha um mesmo, mesmo se eu abrir com o Excel o que devo fazer pra salva-lo como outro arquivo? Qual comando devo usar?
Como disse no inÃcio é mesmo um mistério.
Com a sua resposta de cara elimino a possibilidade de estar na pasta
C:\Users\<Usuario logado no Windows>\AppData\Local\VirtualStore
como citou o OCELOT pois eu ja havia procurado e nada achei.
Ainda bem que é um programinha que não cobrei e o cliente está disposto
a copiar os 140 registros que fez até o momento
Todavia é algo que gostaria de entender.
Ah, uma das minhas perguntas ainda está sem resposta:
O processo de backup pode ser feito dessa maneira ao formatar um pc?
Copiar o bd e depois jogar na pasta de instalação do programa
sendo que eu uso o método App.Path & [Ô]\BANCO.MDB[Ô]
Eu havia feito a busca anteriormente pelo nome do bd em todo o computador mas ele só acha um mesmo, mesmo se eu abrir com o Excel o que devo fazer pra salva-lo como outro arquivo? Qual comando devo usar?
Como disse no inÃcio é mesmo um mistério.
Com a sua resposta de cara elimino a possibilidade de estar na pasta
C:\Users\<Usuario logado no Windows>\AppData\Local\VirtualStore
como citou o OCELOT pois eu ja havia procurado e nada achei.
Ainda bem que é um programinha que não cobrei e o cliente está disposto
a copiar os 140 registros que fez até o momento
Todavia é algo que gostaria de entender.
Ah, uma das minhas perguntas ainda está sem resposta:
O processo de backup pode ser feito dessa maneira ao formatar um pc?
Copiar o bd e depois jogar na pasta de instalação do programa
sendo que eu uso o método App.Path & [Ô]\BANCO.MDB[Ô]
Quanto ao backup pode sim!
Qual a versão do access que esta usando? Tentou abrir o banco em outro computador pelo access?
Faça um outro teste!
Faça o backup do banco novamente e exclua-o da pasta do sistema;
Coloque um novo banco vazio na pasta do sistema;
Teste o sistema e veja se mostra algum dado;
Se por ventura mostrar algum dados no sistema então existe um apontamento para um banco de dados oculto pelo sistema operacional.
Bom não consigo pensar em mais nada para solucionar o problema!
Quanto ao abrir o banco no excel é simplesmente ir no módulo (DADOS) opção obter dados externo do access
Qual a versão do access que esta usando? Tentou abrir o banco em outro computador pelo access?
Faça um outro teste!
Faça o backup do banco novamente e exclua-o da pasta do sistema;
Coloque um novo banco vazio na pasta do sistema;
Teste o sistema e veja se mostra algum dado;
Se por ventura mostrar algum dados no sistema então existe um apontamento para um banco de dados oculto pelo sistema operacional.
Bom não consigo pensar em mais nada para solucionar o problema!
Quanto ao abrir o banco no excel é simplesmente ir no módulo (DADOS) opção obter dados externo do access
Amigo, se for o desenvolvedor do sistema crie uma função dentro do sistema que exporta registro por registro, isso pode ser feito para backup ou até mesmo para tentar recuperar esse banco com problemas já que você não acha os registros mas consegue ve-los utilizando seu sistema crie essa função e boa sorte.
Tópico encerrado , respostas não são mais permitidas