XP PARA WINDOWS 7
Preciso de ajuda....
Tenho um sistema em VB6 utilizando o mdb (ACCESS 97) com Windows Xp.
Como fazer para utilizar este sistema no Windows 7 ????
O que já fiz:
Instalei o sistema em VB6 na maquina com Windows 7;
Compilei o sistema sem erros;
Instalei o Banco de dados (ACCESS 97) nesta nova maquina;
Converti o banco para a versão 2010;
Ao retornar, ele não disponibiliza a versão 97. Retornei para a versao 2002.
Porem, ao executar ganhei o erro 3051- The Microsoft Jet Database engine cannot open the file....
Pergunto:
Tenho como atualizar a versão do ACCESS???
Neste caso, como fazer para o sistema entender esta nova versão???
Desde já eu agradeço a quem puder me ajudar.
Luiz
Tenho um sistema em VB6 utilizando o mdb (ACCESS 97) com Windows Xp.
Como fazer para utilizar este sistema no Windows 7 ????
O que já fiz:
Instalei o sistema em VB6 na maquina com Windows 7;
Compilei o sistema sem erros;
Instalei o Banco de dados (ACCESS 97) nesta nova maquina;
Converti o banco para a versão 2010;
Ao retornar, ele não disponibiliza a versão 97. Retornei para a versao 2002.
Porem, ao executar ganhei o erro 3051- The Microsoft Jet Database engine cannot open the file....
Pergunto:
Tenho como atualizar a versão do ACCESS???
Neste caso, como fazer para o sistema entender esta nova versão???
Desde já eu agradeço a quem puder me ajudar.
Luiz
bom colega migre seu banco para o access 2010 mesmo, o que vc terá de fazer é mudar a string de conexão.
[txt-color=#e80000]de[/txt-color]
[txt-color=#007100]para[/txt-color]
[txt-color=#e80000]de[/txt-color]
con.Open [Ô]provider=microsoft.jet.oledb.4.0; data source=[Ô] & App.Path & [Ô]\seubanco.mdb;jet OLEDB:System Database=system.mdw;[Ô]
[txt-color=#007100]para[/txt-color]
con.Open [Ô]Provider=Microsoft.ACE.OLEDB.12.0; Data Source=[Ô] & App.Path & [Ô]\seubanco.accdb;Jet OLEDB:Database Password=; Persist Security Info=False;[Ô]
Meus sistemas do VB6 eu gero tudo em uma maquina com windows XP, e continuo com Access97
Já na maquina com windows 7 eu rodo o setup do meu sistema em VB6
Tudo funciona perfeito em
- XP
- WINDOWS 7 32bits
- WINDOWS 7 64bits
Eu não converti o Access97, deixei ele mesmo, tudo que tenho que fazer faço na minha maquina com XP
Na maquina com W7 só roda o programa (no cliente)
Tenho aqui 2 maquinas 1 com XP para sistemas VB6
Outra com Windows7 para sistema com VS2008
Aos poucos vou migrar todos meus clientes para VS2008/10/12 etc...
A primeira vez que tentei converte o banco de dados access, veio essa msg, deixei ele como estava
Já na maquina com windows 7 eu rodo o setup do meu sistema em VB6
Tudo funciona perfeito em
- XP
- WINDOWS 7 32bits
- WINDOWS 7 64bits
Eu não converti o Access97, deixei ele mesmo, tudo que tenho que fazer faço na minha maquina com XP
Na maquina com W7 só roda o programa (no cliente)
Tenho aqui 2 maquinas 1 com XP para sistemas VB6
Outra com Windows7 para sistema com VS2008
Aos poucos vou migrar todos meus clientes para VS2008/10/12 etc...
A primeira vez que tentei converte o banco de dados access, veio essa msg, deixei ele como estava
Marcelo
Obrigado por seu apoio.
Na verdade (so depos que eu vi), o ACCESS atual é o 2007. Muda alguma coisa???
Na abertura do banco eu fazia:
Set dbSIC = Area.OpenDatabase([Ô]C:\dbSIC.mdb[Ô])
Coloquei, como voce sugeriu:
con.Open [Ô]Provider=Microsoft.ACE.OLEDB.12.0; Data Source=[Ô] & App.Path & [Ô]\dbSIC.accdb;Jet OLEDB:Database Password=; Persist Security Info=False;[Ô]
Ele retornou o seguinte erro:
Compile error: Variable not defined
Eu entendi corretamente???? Ou seja: Seria neste local a substituicao que voce sugeriu????
Obrigado por seu apoio.
Na verdade (so depos que eu vi), o ACCESS atual é o 2007. Muda alguma coisa???
Na abertura do banco eu fazia:
Set dbSIC = Area.OpenDatabase([Ô]C:\dbSIC.mdb[Ô])
Coloquei, como voce sugeriu:
con.Open [Ô]Provider=Microsoft.ACE.OLEDB.12.0; Data Source=[Ô] & App.Path & [Ô]\dbSIC.accdb;Jet OLEDB:Database Password=; Persist Security Info=False;[Ô]
Ele retornou o seguinte erro:
Compile error: Variable not defined
Eu entendi corretamente???? Ou seja: Seria neste local a substituicao que voce sugeriu????
LWAGHABI boa tarde.
Meu sistema é igual ao exposto pelo SOCRAMSA.
Tudo que você criar no XP 32 bits, irá rodar nos windows posteriores até a versão Windows 8, seja 32 bits ou no modo compatibilidade XP SP3 das versões 64 bits.
Um sistema que use um MDB criado no Access 97 não recomendo que seja migrado para access posteriores, por dois motivos:
1) A estrutura do Access 97 é 50% menor do que nas versões posteriores. Sendo assim só o fato de migrar seu banco, ele já ganhará em tamanho inútil, com tabelas que nunca irá usar, ocupando um tamanho que influenciará no tempo de vida do seu banco (limite conhecido dele) bem como na sua performance ao longo do tempo, com a entrada de dados.
2) As melhorias criadas nas versões posteriores do Access 97 são apenas referentes aos formulários, consultas, macros, relatórios e IDE do próprio Access e não na estrutura das tabelas de seu sistema. Sendo assim se usa o MDB só para tabelas e todo o resto é feito em VB6, deixa na versão 97 mesmo. Já o Gerenciador JET 4, sim é melhor que o 3.5 e deve ser usado, mesmo seu banco sendo Access 97, ou seja, ao distribuir o JET no seu instalador, use o instalador da versão 4.0 e não os anteriores.
Nota 1: Seu sistema sendo gerado no Windows XP, pode ser instalado em windows mais novos, porém ele sendo gerado no Windows posterior, ex: Seven, nunca irá codar em versões anteriores, ex: XP.
Nota 2: O Windows Vista e Seven, já vem com o MDAC instalado, porém a versão que você usa no seu XP é anterior a destes Windows. Sendo assim você deve distribuir o instalador da sua versão do MDAC também, do contrário terá problemas de acesso. Eu uso a versão 2.6, apesar das versões 2.8 para XP ser melhor, porém esta última não tem certos recursos presentes na versão 2.6 que funciona perfeitamente e nunca tive problema desde 1998, e funciona até hoje em todos os micros que instalo.
Meu sistema é igual ao exposto pelo SOCRAMSA.
Tudo que você criar no XP 32 bits, irá rodar nos windows posteriores até a versão Windows 8, seja 32 bits ou no modo compatibilidade XP SP3 das versões 64 bits.
Um sistema que use um MDB criado no Access 97 não recomendo que seja migrado para access posteriores, por dois motivos:
1) A estrutura do Access 97 é 50% menor do que nas versões posteriores. Sendo assim só o fato de migrar seu banco, ele já ganhará em tamanho inútil, com tabelas que nunca irá usar, ocupando um tamanho que influenciará no tempo de vida do seu banco (limite conhecido dele) bem como na sua performance ao longo do tempo, com a entrada de dados.
2) As melhorias criadas nas versões posteriores do Access 97 são apenas referentes aos formulários, consultas, macros, relatórios e IDE do próprio Access e não na estrutura das tabelas de seu sistema. Sendo assim se usa o MDB só para tabelas e todo o resto é feito em VB6, deixa na versão 97 mesmo. Já o Gerenciador JET 4, sim é melhor que o 3.5 e deve ser usado, mesmo seu banco sendo Access 97, ou seja, ao distribuir o JET no seu instalador, use o instalador da versão 4.0 e não os anteriores.
Nota 1: Seu sistema sendo gerado no Windows XP, pode ser instalado em windows mais novos, porém ele sendo gerado no Windows posterior, ex: Seven, nunca irá codar em versões anteriores, ex: XP.
Nota 2: O Windows Vista e Seven, já vem com o MDAC instalado, porém a versão que você usa no seu XP é anterior a destes Windows. Sendo assim você deve distribuir o instalador da sua versão do MDAC também, do contrário terá problemas de acesso. Eu uso a versão 2.6, apesar das versões 2.8 para XP ser melhor, porém esta última não tem certos recursos presentes na versão 2.6 que funciona perfeitamente e nunca tive problema desde 1998, e funciona até hoje em todos os micros que instalo.
LH
Obrigado, tambem, pelo seu apoio.
Qdo li a sua sugetão observei que voce tem duas máquinas.
O meu caso é um pouco diferente.
Em 1998 (aprox) eu desenvolvi um sistema para industria. Não conhecia nada de VB. Vim de assembler IBM 360/30 (antigo, não???) e depois a minha vida foi trabalhar com COBOL. Fiz um cursinho de VB e parti para desenvolver o sistema para a fabrica da qual era socio.
Funcionou!!!!
Agora, um grande amigo estava prewcisando de um sistema e eu me prontifiquei em ajuda-lo. Porem, o laptop del é W7. Pronto. Aà comecou a minha luta. Eu tenho que migrar o ACCESS pra maquina dele. Eu posso migrar o ACCESS 97???
O sistema eu acabei conseguindo compilar sem erros. Porem, agora, estou tendo problemas para abrir o banco.
Obrigado por seu interesse
Luiz Waghabi
Obrigado, tambem, pelo seu apoio.
Qdo li a sua sugetão observei que voce tem duas máquinas.
O meu caso é um pouco diferente.
Em 1998 (aprox) eu desenvolvi um sistema para industria. Não conhecia nada de VB. Vim de assembler IBM 360/30 (antigo, não???) e depois a minha vida foi trabalhar com COBOL. Fiz um cursinho de VB e parti para desenvolver o sistema para a fabrica da qual era socio.
Funcionou!!!!
Agora, um grande amigo estava prewcisando de um sistema e eu me prontifiquei em ajuda-lo. Porem, o laptop del é W7. Pronto. Aà comecou a minha luta. Eu tenho que migrar o ACCESS pra maquina dele. Eu posso migrar o ACCESS 97???
O sistema eu acabei conseguindo compilar sem erros. Porem, agora, estou tendo problemas para abrir o banco.
Obrigado por seu interesse
Luiz Waghabi
O problema está no fato de você estar usando DAO, você teria que ao menos migrar para ADO.
Marcelo
A variavel que deu erro foi con. logo no inicio do comando con.open.........
Essa mudanca de ADO para DAO é muito complecada???
Grato
A variavel que deu erro foi con. logo no inicio do comando con.open.........
Essa mudanca de ADO para DAO é muito complecada???
Grato
bom depende do tamanho do projeto, eu não acho complicada, veja bem, a mudança de DAO para ADO é a melhor opção você nem precisaria migrar o banco para uma versão atual, como os colega disseram você pode usar o banco antigo mesmo.
DAO é descontinuado, migrar para ADO seria uma boa Hora.
DAO é descontinuado, migrar para ADO seria uma boa Hora.
Enquanto estava no WIN32 vivia no paraiso
Agora to lutando com o WIN64
é ruim, que tenho clientes a mais de 15 anos, tava tudo muito facil para o cliente, ele tem telas melhores e muito parecidas (eu fiz muito parecido para evitar o trauma e trocar rapido 1 versão pela outra)
Mas agora com Windows 64 bits, to repensando tudo
Ainda não cheguei um ponto facil para mim e para o cliente, pior que falei com o tecnico que cuida dos pcs do meu cliente
Ele disse que a grande maioria de maquinas que ele esta montando, todas as peças só funcionam em 64 bits, ele disse que cada vez mais terá maquinas 64 bits, nesse cliente tem apenas 1 maquina 32bits o restante é tudo 64bits
To queimando a cabeça para resolver isso, to com sistema pronto em VB6 a muitos anos
To com sistema em VS2008 funcionando muito bem em Windows 7 32 bits, a 2 meses em um cliente que usava o VB6 a muitos anos
Importei para VS2010, funcionou tranquilo, agora to na luta com crystal reports
Durmo e acordo pensando em como resolver isso
Achei o REPORTVIEW meio complicado, o crystal seria o sonho, funciona muito com vb/vs
Agora to lutando com o WIN64
é ruim, que tenho clientes a mais de 15 anos, tava tudo muito facil para o cliente, ele tem telas melhores e muito parecidas (eu fiz muito parecido para evitar o trauma e trocar rapido 1 versão pela outra)
Mas agora com Windows 64 bits, to repensando tudo
Ainda não cheguei um ponto facil para mim e para o cliente, pior que falei com o tecnico que cuida dos pcs do meu cliente
Ele disse que a grande maioria de maquinas que ele esta montando, todas as peças só funcionam em 64 bits, ele disse que cada vez mais terá maquinas 64 bits, nesse cliente tem apenas 1 maquina 32bits o restante é tudo 64bits
To queimando a cabeça para resolver isso, to com sistema pronto em VB6 a muitos anos
To com sistema em VS2008 funcionando muito bem em Windows 7 32 bits, a 2 meses em um cliente que usava o VB6 a muitos anos
Importei para VS2010, funcionou tranquilo, agora to na luta com crystal reports
Durmo e acordo pensando em como resolver isso
Achei o REPORTVIEW meio complicado, o crystal seria o sonho, funciona muito com vb/vs
Olha não tinha visto que usava DAO, isso sim é um grande problema como já dito, por ser descontinuado, limitado etc...
Uso ADO 2.6 (versão mais antiga do XP que foi do 2.1 até o 2.8), mas funciona perfeitamente em todos os windows 32 e 64bits (modo compatibilidade XP SP3).
Como disse, migrar o banco Access 97 para mais recentes não é o ideal ou sequer necessário, mas o mecanismo JET 4.0 é importante e principalmente usar o ADO, seja 2.6, 2.7 ou 2.8. Isso além de mais estável e flexÃvel, irá acabar com os problemas de acesso.
Nota: Como o acesso ao seu banco (MDB) é feito pela aplicação VB6, seu cliente não terá de acessar o banco pelo IDE do Access, assim independe da versão do Officer que ele tenha instalado. Agora que fique claro, ao instalar seu programa, seu instalador tem que ter:
- Todos os recursos do seu aplicativo (arquivos diversos + DLLs e OCX)
- Instalador do JET 4.0
- Instalador do MDAC (ADO na versão que escolher)
Veja que ao citar o instalador, só para não ficar dúvidas pois já vi isso, não se trata de instalar o MS Access, mas sim o mecanismo de acesso ao banco feito em Access, no caso o JET 4.0. Esse instalador era incluÃdo por padrão até a versão 2.6 do MDAC, mas depois foi retirado. Entretanto sua versão era 3.5. Para ter os instaladores corretos, terá de baixar do site da Microsoft. Ouvi dizer que não estariam mais disponÃveis o MDAC antigos, não sei se é vertdade. Cada um destes instaladores (MDAC e JET) tem 5 Megas. Faça uma pesquisa na Web e deverá achar. Em último caso, eu poderia lhe enviar por email.
Nota: Só para ficar claro, eu tenho sim 2 micros, um é um XP SP3 e o outro um Seven (ambos 32 bits). No seven eu tenho uma máquina virtual com o XP SP3 que uso como máquina de desenvolvimento onde tenho todas as ferramentas do VB6 + Access 97. Compilo o programa por ele e gero o instalador também nele com o Inno Setup 5. Depois disso pode instalar em qualquer versão do Windows 32 ou 64, acima do XP, até no Server 2008 já foi testado.
A algum tempo, meu sistema também era compatÃvel com o Windows 98 em diante, para isso eu precisava gerar o instalador do Inno em outra máquina virtual com o Windows 98, então podia instalar em qualquer Windows Superior, sempre assim, gera o instalador no menor Windows para funcionar em todos os superiores. Depois descontinuei o Win98, ME, e 2000, pois tinha de distribuir também um complemento COM de atualização do Windows 98, ME e 2000 com 3.6 Megas. Como isso já não é muito usado e antigo, além do trabalho, retirei a compatibilidade, reduzindo o trabalho, tamanho do instalador, e agora é compatÃvel apenas do XP em diasnte. Segundo a Microsoft, será até o Windows 8 depois acredito que não. Por isso a migração para .Net é inevitável.
Já comecei, apesar de algumas paradas, mas esse é o caminho.
Uso ADO 2.6 (versão mais antiga do XP que foi do 2.1 até o 2.8), mas funciona perfeitamente em todos os windows 32 e 64bits (modo compatibilidade XP SP3).
Como disse, migrar o banco Access 97 para mais recentes não é o ideal ou sequer necessário, mas o mecanismo JET 4.0 é importante e principalmente usar o ADO, seja 2.6, 2.7 ou 2.8. Isso além de mais estável e flexÃvel, irá acabar com os problemas de acesso.
Nota: Como o acesso ao seu banco (MDB) é feito pela aplicação VB6, seu cliente não terá de acessar o banco pelo IDE do Access, assim independe da versão do Officer que ele tenha instalado. Agora que fique claro, ao instalar seu programa, seu instalador tem que ter:
- Todos os recursos do seu aplicativo (arquivos diversos + DLLs e OCX)
- Instalador do JET 4.0
- Instalador do MDAC (ADO na versão que escolher)
Veja que ao citar o instalador, só para não ficar dúvidas pois já vi isso, não se trata de instalar o MS Access, mas sim o mecanismo de acesso ao banco feito em Access, no caso o JET 4.0. Esse instalador era incluÃdo por padrão até a versão 2.6 do MDAC, mas depois foi retirado. Entretanto sua versão era 3.5. Para ter os instaladores corretos, terá de baixar do site da Microsoft. Ouvi dizer que não estariam mais disponÃveis o MDAC antigos, não sei se é vertdade. Cada um destes instaladores (MDAC e JET) tem 5 Megas. Faça uma pesquisa na Web e deverá achar. Em último caso, eu poderia lhe enviar por email.
Nota: Só para ficar claro, eu tenho sim 2 micros, um é um XP SP3 e o outro um Seven (ambos 32 bits). No seven eu tenho uma máquina virtual com o XP SP3 que uso como máquina de desenvolvimento onde tenho todas as ferramentas do VB6 + Access 97. Compilo o programa por ele e gero o instalador também nele com o Inno Setup 5. Depois disso pode instalar em qualquer versão do Windows 32 ou 64, acima do XP, até no Server 2008 já foi testado.
A algum tempo, meu sistema também era compatÃvel com o Windows 98 em diante, para isso eu precisava gerar o instalador do Inno em outra máquina virtual com o Windows 98, então podia instalar em qualquer Windows Superior, sempre assim, gera o instalador no menor Windows para funcionar em todos os superiores. Depois descontinuei o Win98, ME, e 2000, pois tinha de distribuir também um complemento COM de atualização do Windows 98, ME e 2000 com 3.6 Megas. Como isso já não é muito usado e antigo, além do trabalho, retirei a compatibilidade, reduzindo o trabalho, tamanho do instalador, e agora é compatÃvel apenas do XP em diasnte. Segundo a Microsoft, será até o Windows 8 depois acredito que não. Por isso a migração para .Net é inevitável.
Já comecei, apesar de algumas paradas, mas esse é o caminho.
Tópico encerrado , respostas não são mais permitidas