Fórum problemas gerado com arquivo do acess no GAS #425160

01/10/2012

0

ola amigos estou com um grande problema, tenho um cliente que pediu para um outro programador aqui da ciddae desenvolver um sistema de controle de sua loja, esse programador usa o GAS como ferramenta de desenvolvimento, o programa que ele fez ta dando problema, e esse meu cliente me pediu para desenvolver um outro so que utilizando os dados do banco de dados. sao quase 40000 fichas de clientes, que terei que passar para oo firebird , pois vou fazer com esse gerenciador, meu problema esta na transferencia , a transferencia em si ja resolvi, eu entro no acess e mando exportar para o paradox, e depois pego do paradox e passo para o firebird, o processo ate que e facil. mas estou com problemas e na acentuação quando se faz a transferencia para o paradox as letras acentuadas saem todas bagunçadas. ifz a exportação para o excel e foi tudo correto todas as letras normalmente acentuada

alguen teria como eu resolver este problema.

pensei em uma outra forma hoje uso o office 2007, tenho o office 2000 vou instalar e seguir os seguintes passos :

exporto com o office 2007 para excel todas as tabelas que preciso

uso o excel do office 2000 para exportar a planilha anterior do 2007 para um banco de dados tal como dbf, pois o excel do office 2007 não tem exportação para esse banco de dados. sei que o excel do office 2000 tem.

pode ser que resoplva meu problema

o que acham
Edson Melo

Edson Melo

Responder

Posts

01/10/2012

Gilvanio Gonçalves

Minha Resposta:

faça o seguinte, acesse as tabelas através do IBExpert no item
ODBC Viewer, monte um select e mandar gravar em outra tabela, ok.

Minha sugestão:
ou como vc me sugeriu no meu poste, no google tem aplicativos prontos para isto em toneladas, e converte sem perder a acentuação, pesquise?
Responder

Gostei + 0

02/10/2012

Edson Melo

gilvanio ja abaixei um muito bom chamado full convert da propria microsoft, mas ele tambem bagunga o nome

vou tentar a sua ideia , mas o ibexpert abre arquivos do acess, acho que não.
Responder

Gostei + 0

02/10/2012

Marcos Iwazaki

vc poderia tbm fazer um programa p ler as tabelas e exportar p firebird
Responder

Gostei + 0

02/10/2012

Edson Melo

ja tentei, mas quando vou abrir a tabela do acess da erro,

peguei um programinha da internet que acessa o arquivo do acess no delphi e so troquei a base de dados, não acessou de geito nenhum
Responder

Gostei + 0

02/10/2012

Gilvanio Gonçalves

gilvanio ja abaixei um muito bom chamado full convert da propria microsoft, mas ele tambem bagunga o nome

vou tentar a sua ideia , mas o ibexpert abre arquivos do acess, acho que não.



abre sim.
Responder

Gostei + 0

02/10/2012

Gilvanio Gonçalves

Veja bém.também tem um jeito fácil, porém não muito eficiente:

Utilizar o próprio Access para exportar as tabelas.
Primeiro, crie um ODBC Datasource para o banco Firebird que irá receber os dados. O mesmo deve estar vazio.
Em seguida, abra o banco de dados desejado no Access e clique com o botão direito na tabela desejada. Selecione Exportar.
Na caixa que se abre, vá até o combo "Salvar como do tipo" e selecione "Bancos de dados ODBC". Selecione o banco criado e poderá fazer a exportação.

Por que eu disse que não é o método mais eficiente?

- Deve ser feito tabela por tabela
- Por causa disso, não cria os relacionamentos entre as tabelas
- Vai causar a maior confusão se os nomes de campos tiverem letras minúsculas: você terá que utilizar aspas duplas na hora de fazer um select, por exemplo. E para lembrar-se disso?
- O mesmo vale para nomes de tabelas ou campos com acento. O Firebird pode não permitir isso.
na verdade o firebird não acit acentuação.

um outra solução é vc exportar para arquivo txt. corrigir(remover) acentos e importar o txt para o firebird.

que ficaria no que vc esta sugerindo export para excel, e faça o mesmo com acentos, muita mão de obra , mas é algumas dicas pra vc.






Não é tão difícil. Crie dois "alias" dentro do BDE (é isso mesmo, é mais fácil fazer pelo BDE). :-)

Um alias para o seu banco no Firebird e o outro alias para o seu banco no Access.

Certifique-se de que os dois estão funcionando (funcionar = conseguir conectar no banco).

Veja o programa chamado "Datapump" que vem com o Delphi. Ele faz o "trabalho sujo" pra gente...
Responder

Gostei + 0

03/10/2012

Edson Melo

gilvano esta sua ideia eu ja fiz, somentte usando outra opção, o acess quando clico com o mause em cima da tabela com o botao direito tem uma opcao de exportar, ele exporta se eu mando exportar para uma tabela bagunca, maas tentei uma outra opcao, mandei exportar a tabela pro excel, qual minha surpresa foi tudo perfeito, nao mudou nada, agora e so eu pegar do excel e exportar para o banco de dados, esta parte nao tentei ainda, mas acho que resolve, se pro excel foi tudo ok acho que pegando do exel e mandando pro banco de dados deva tambem ir tudo certo. so vou saber quando testar, nao e
Responder

Gostei + 0

03/10/2012

Gilvanio Gonçalves

gilvano esta sua ideia eu ja fiz, somentte usando outra opção, o acess quando clico com o mause em cima da tabela com o botao direito tem uma opcao de exportar, ele exporta se eu mando exportar para uma tabela bagunca, maas tentei uma outra opcao, mandei exportar a tabela pro excel, qual minha surpresa foi tudo perfeito, nao mudou nada, agora e so eu pegar do excel e exportar para o banco de dados, esta parte nao tentei ainda, mas acho que resolve, se pro excel foi tudo ok acho que pegando do exel e mandando pro banco de dados deva tambem ir tudo certo. so vou saber quando testar, nao e



sim vc pode exportar para excel, e como se fosse ao que te disse pata txt, e tudo será certinho até para word são editores,
mas tome cuidado ao importar para firebird
como disse tem umas versões dele que não aceita acentuação, ai vc terá que tirar a acendução arquivo por arquivo

nunca testei, mas acho que o excel tem como vc remover toda acentução
por ele mesmo, ai depois vc importa par o firebird.

veja bém não entenda errado, o firebird costuma não aceitar acentução em exportação de dados, e não para
usar no seu aplicativo em rotina normal de gravação de dados, com ou sem acentuação, entendeu?
Responder

Gostei + 0

04/10/2012

Alisson Santos

Nesse caso teria algumas coisas para serem ponderadas.
1ª qual é o banco de dados que ele utiliza?
2ª seu programa vai ter que comunicar com o banco de dados sendo assim teria que entender o funcionamento do banco de dados dele, regras de negócio e estrutura.

Acho melhor desenvolver o seu proprio banco com a analise que foi feito e apos issso fazer exportação de informação.
Poderia exportar para o excel e criar uma linha de insert e copiar abaixo.

Se puder me passar qual é o banco de dados que ele utilizaou poderia auxiliar, pois tenho um programa que faz exportação de alguns bancos para o firebird.
Responder

Gostei + 0

07/10/2012

Edson Melo

os acentosalisson meu amigo e o seguinte tenho que mandar para o firebird, nao tenho como escapar, oprograma original era com banco de dados em acess, ja tentei abrir o banco de dados do acess no delphi mas nao consegui, da erro. acho que o GAS quando cria o banco de dados coloca alguma coisa que impede o delphi de abrir ou pode ser problemas mesmo no banco de dados, nao sei te dizer. sei que quando exportei do acess para excel a tabela do banco de dados todos os dados foram corretos com acentuacao e tudo, ate os memo foram levados para o excel, minha ideia agora e pegar do excel e exportar para o paradox ou dbasee assim exportar para o firebird, claro que tratando os acentos, entenda retirando os acentos, o pior e que prometi o novo sistema para quarta feira que vem, ate la tenho que resolver isso. vou tentar minha sugestao, tomara que de certo, se eu soubesse fazer macros para o excel faria uma para retirar os acentos, agora me ocorreu uma outra ideia, tenho varios helps com rotinas para delphi, se nao me engano tem uma com 1300 rotinas vou ver se tem uma para exportar do excel para o banco de dados.

o pior e que a tabela menor de 20000 registros e a maior passa de 40000 registros.


continuo a esperar alguem que possa me ajudar
Responder

Gostei + 0

07/10/2012

Gilvanio Gonçalves

Edson em um outro topico seu sobre CDB, lhe dei uma solução,ou sugestão que seja!.

neste caso aqui,Tentar fazer um plicativo para isto ou refazer as tabelas como foi sugerido a vc é dureza, pela quantidade de registros e o prazo de entrega.

veja bém, vc esportando de access para excel, como disse não perde a acentucão, se vc converter direto para db no caso paradox, a acentuação continua perfeita?.mesmo assim se não, use este aplicativo pronto e gratuito para converter, para db, fdb, dbf etc.
Link: http://www.planetadelphi.com.br/download/4546/componente/conversor-mdb/fdb-acess/firebird

Agora se vc quer realmente remover toda acentunção do dados exportados para o excel.

é facil, e é por macro sim:

vamoas lá.

É só criar a seguinte Macro,no excel

1- Abra a sua planilha que esta os dados exportados.

2- Pressione ALT+F8

3 – Em nome da macro digite um nome: Acentos

4 – clique no botão CRIAR

5 – Aparecerá uma nova janela Microsoft Visual Basic

6 – Copie o codigo abaixo e cole entre Sub Acentos() e End Sub

Cells.Replace What:=”é”, Replacement:=”e”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False
Cells.Replace What:=”ê”, Replacement:=”e”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”Ê”, Replacement:=”E”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”É”, Replacement:=”E”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”á”, Replacement:=”a”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”Á”, Replacement:=”A”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”ç”, Replacement:=”c”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”Ç”, Replacement:=”C”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”í”, Replacement:=”i”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”Í”, Replacement:=”I”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”ú”, Replacement:=”u”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”ü”, Replacement:=”u”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”Ú”, Replacement:=”U”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”Ü”, Replacement:=”U”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”ã”, Replacement:=”a”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”Ô, Replacement:=”A”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”â”, Replacement:=”a”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=””, Replacement:=”A”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”õ”, Replacement:=”o”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”Õ”, Replacement:=”O”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”ô”, Replacement:=”o”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”Ô”, Replacement:=”O”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”ó”, Replacement:=”o”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”Ó”, Replacement:=”O”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False


----------------------------------------------------------------------
entenda a macro, faz um replace de ó para o normal e assim para outros acentos, assim se tiver faltando
algum que eu tenha esquecido acrescente ai neste codigo, vc verá nos dados algum acento que esqueci.
-----------------------------------------------------------------------

– Clique no botão do disquete para Salvar
8 – clique no menu Arquivo – Fechar e voltar para o Microsoft Excel
------------------------------------------------
Agora é só executar:
Pressione ALT + F8 – Deixe marcado Acentos e clique no botão Executar.
Pronto!

Espero que ajude! e vc entregue no prazo, Até!

Amigos Delphianos deste forum!. um pouquinho de Windows,Word,Access,e Excel faz Bém e ajuda muito em programação, abraço a todos.
Responder

Gostei + 0

07/10/2012

Gilvanio Gonçalves

novamente o codigo , como texto, pois postando como codigo para o forum, deu probrema nas aspas duplas virou traço.
caso aconteça desta vez, ao copiar o codigo saiba que onde esta Cells.Replace What:=aspa dupla ó aspa dupla, Replacement:=aspa dupla o aspa dupla,

Codigo para a macro:

Cells.Replace What:=”é”, Replacement:=”e”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False
Cells.Replace What:=”ê”, Replacement:=”e”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”Ê”, Replacement:=”E”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”É”, Replacement:=”E”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”á”, Replacement:=”a”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”Á”, Replacement:=”A”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”ç”, Replacement:=”c”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”Ç”, Replacement:=”C”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”í”, Replacement:=”i”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”Í”, Replacement:=”I”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”ú”, Replacement:=”u”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”ü”, Replacement:=”u”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”Ú”, Replacement:=”U”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”Ü”, Replacement:=”U”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”ã”, Replacement:=”a”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”Ô, Replacement:=”A”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”â”, Replacement:=”a”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=””, Replacement:=”A”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”õ”, Replacement:=”o”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”Õ”, Replacement:=”O”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”ô”, Replacement:=”o”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”Ô”, Replacement:=”O”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”ó”, Replacement:=”o”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

Cells.Replace What:=”Ó”, Replacement:=”O”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=False

se estiver tudo certo é so copiar.

at+.
Responder

Gostei + 0

08/10/2012

Edson Melo

gilvano se exporto para qualquer banco de dados, nao tem como perde o acento , e como te disse sao muitos registros para corrigir manualmente. nao sei o que fazer , estou tentando exportar para um arquivo texto CSV vai tudo certo pelo menos ao acentos ficam, mas neste arquivo tenhoo 3 campos memos ta deixando a linha no arquivo texto muito grande e o sistema trunca ela ou seja divide a linha em duas. ta dificil mesmo quando oresolvoo de um lado bagunça de outro. minha unica solução seria conseguir abrir o arquivo em acess com o delfhi com os componente ADO, tenho ate um programa exemplo que peguei da internet mas quando joguei o banco de dados neste exemplo da uma mensagem de erro dizendo que a extrutura e incompativel. ai fica dificil , pois se eu conseguise faria a gravação direto do acess para o fdb

tentei exportar do excel que tava ok a planilha con acentuação e memos tudo bom para um banco de dados paraox e dbase DB e DBF nas os acentos se perdem nao teve geito

mas sou brasileiro, vou continuar
Responder

Gostei + 0

09/10/2012

Edson Melo

ola pessoal consegui resolver do jeito que eu pensava, depois posto os caminhos que usei, pois pode ter alguem com a mesma dificuldade

ate breve
Responder

Gostei + 0

09/10/2012

Alisson Santos

O tópico será fechado, qualquer duvida nos informar.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar