Usuário com melhor resposta
Não consigo importar arquivo txt com o access fechado usando o excel vba. (erro em tempo de execução '2046')

Pergunta
-
Olá Pessoal,
Gostaria de uma ajuda de vcs... estou usando no excel um form e ao tentar importar um arquivo txt para o Access do excel aparece esse erro "erro em tempo de execução '2046': o comando ou a ação 'Transferir Texto não está disponível agora." ..... mas quando eu deixo o access aberto ele consegue fazer essa importação, mas gostaria que ele fizesse isso com o access fechado...
DoCmd.TransferText acImportDelim, "Tab_especif", "Tab1", caminho, False
Não sei se fui muito claro, mas desde já muito obrigado pela a atenção.
Silvio.
Respostas
-
Sem olhar para todo o código utilizado, não te posso dar grande ajuda.
Posso sim é explicar como se processam as ligações ao Access.
1 - Para consultar, editar e introduzir dados nas tabelas, directamente ou através de consultas, usa-se o DAO, ADO ou ODBC. Usando o SQL podemos alterar as tabelas e consultas. O DAO também permite um accesso mais directo à estrutura da base de dados.
2 - Para editar o Projecto do Access (formulários, relatórios e modulos) ou usar procedimentos proprios do Access, temos de usar a aplicação Access. Para isso e em VBA utilizamos uma referência ao Access (Access.Application). Penso que seja essa parte que esteja a faltar.
Deixo um exemplo básico para essa instrução:
Dim acc As Object Set acc = CreateObject("Access.Application") acc.OpenCurrentDatabase "C:\...\Database.mdb" 'Substituir pelo teu MDB ou ACCDB acc.DoCmd.TransferText acImportDelim, "Tab_especif", "Tab1", caminho, False acc.Quit
Nota que o Access abre mas fica invisivel até ser fechado. Para o tornar visivel basta colocar a propriedade acc.Visible=True- Editado Nando Freitas segunda-feira, 10 de setembro de 2012 20:44
- Marcado como Resposta Hezequias VasconcelosModerator terça-feira, 11 de setembro de 2012 15:53
Todas as Respostas
-
Sem olhar para todo o código utilizado, não te posso dar grande ajuda.
Posso sim é explicar como se processam as ligações ao Access.
1 - Para consultar, editar e introduzir dados nas tabelas, directamente ou através de consultas, usa-se o DAO, ADO ou ODBC. Usando o SQL podemos alterar as tabelas e consultas. O DAO também permite um accesso mais directo à estrutura da base de dados.
2 - Para editar o Projecto do Access (formulários, relatórios e modulos) ou usar procedimentos proprios do Access, temos de usar a aplicação Access. Para isso e em VBA utilizamos uma referência ao Access (Access.Application). Penso que seja essa parte que esteja a faltar.
Deixo um exemplo básico para essa instrução:
Dim acc As Object Set acc = CreateObject("Access.Application") acc.OpenCurrentDatabase "C:\...\Database.mdb" 'Substituir pelo teu MDB ou ACCDB acc.DoCmd.TransferText acImportDelim, "Tab_especif", "Tab1", caminho, False acc.Quit
Nota que o Access abre mas fica invisivel até ser fechado. Para o tornar visivel basta colocar a propriedade acc.Visible=True- Editado Nando Freitas segunda-feira, 10 de setembro de 2012 20:44
- Marcado como Resposta Hezequias VasconcelosModerator terça-feira, 11 de setembro de 2012 15:53
-