MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    [Resolvido]Criar Macro no Access que importe dados do Excel

    avatar
    vmororo
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 4
    Registrado : 17/05/2012

    [Resolvido]Criar Macro no Access que importe dados do Excel Empty [Resolvido]Criar Macro no Access que importe dados do Excel

    Mensagem  vmororo 28/5/2012, 19:16

    Amigos do maximoAccess, primeiro aproveito para parabenizar pelo fórum que possui um conteúdo de qualidade. Segundo, venho pedir uma ajuda ...

    Seguinte : Queria criar uma macro no Access, associá-la a um botão, que quando clicado importa dados de uma planilha Excel ( que vai estar no mesmo diretório), para diferentes tabelas existentes do meu Access.

    Queria usar também comandos sql (insert) dentro da macro. Imagino que vamos ter um loop e em cada iteração ele vai lendo cada linha e através de insert vai inserindo nas tabelas.

    Exemplo :

    Arquivo excel (office2010) :usuario.xlsx, com 3 colunas : nome, idade, profissao.
    Arquivo access (office 2010) : teste.accdb : 2 tabelas : pessoa (vai armazenar nome e idade) e profissao(vai armazenar apenas a profissão).

    Já pesquisei muito na internet e achei exemplos de macro do excel exportando para o access e preciso do contrário, access importando do excel.

    Desculpa se detalhei demais, o lance que estou precisando muito resolver e sei que aqui a possibilidade de sucesso é mt grande. vlw Smile
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    [Resolvido]Criar Macro no Access que importe dados do Excel Empty Re: [Resolvido]Criar Macro no Access que importe dados do Excel

    Mensagem  JPaulo 28/5/2012, 19:54

    Ola seja bem vindo ao fórum;

    Tente adaptar, entre muitos outros por aqui;


    http://maximoaccess.forumeiros.com/t6642-resolvidoimportar-via-codigovba-ou-sql

    http://maximoaccess.forumeiros.com/t5488-resolvidoimportacao-automatizada-de-excel-para-access

    Qualquer coisa dê um grito.



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Criar Macro no Access que importe dados do Excel Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Criar Macro no Access que importe dados do Excel Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Criar Macro no Access que importe dados do Excel Folder_announce_new Instruções SQL como utilizar...
    avatar
    vmororo
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 4
    Registrado : 17/05/2012

    [Resolvido]Criar Macro no Access que importe dados do Excel Empty Re: [Resolvido]Criar Macro no Access que importe dados do Excel

    Mensagem  vmororo 28/5/2012, 20:02

    Ok JPaulo ! vou dar uma lida e já dou um retorno.

    Obrigado !
    avatar
    vmororo
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 4
    Registrado : 17/05/2012

    [Resolvido]Criar Macro no Access que importe dados do Excel Empty Re: [Resolvido]Criar Macro no Access que importe dados do Excel

    Mensagem  vmororo 29/5/2012, 17:23

    Jpaulo e amigos do forum, no código abaixo: (na parte que inclui, a cor da letra está azul escuro)

    Código:

        Dim strSQL As String, strSQL1 As String, strSQL2 As String, strSQL3 As String
       
        'inclui variáveis abaixo para localizar o diretório atual onde se encontra o arquivo
        [color=darkblue]Dim strLocal As String
        Dim strArquivo As String
        Dim dados As String[/color]
       
        [color=darkblue]strArquivo = "teste2.xls"
        strLocal = ActiveWorkbook.Path & "\"
        dados = strLocal & strArquivo[/color]

    DoCmd.TransferSpreadsheet transfertype:=acImport, _
                tablename:="tblTemporaria", _
                FileName:=[color=darkblue]dados[/color], Hasfieldnames:=True, _
                Range:="", SpreadsheetType:=5


    Usando o ActiveWorkbook, queria capturar o caminho onde o arquivo access está (pois isso pode variar de acordo com o usuário. Ele pode salvar em Meus Documentos, se quiser). Como vou orientar o usuário a guardar o arquivo excel para importação na mesma pasta onde se encontra o access, faz sentido eu utilizar o codigo acima.
    A questão é que não está funcionando. Será que tenho que referenciar alguma biblioteca ?

    Peço que me ajudem amigos !
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    [Resolvido]Criar Macro no Access que importe dados do Excel Empty Re: [Resolvido]Criar Macro no Access que importe dados do Excel

    Mensagem  JPaulo 29/5/2012, 17:28

    Coloque o teste2.xls em C:\ e faça o teste alterando o local, assim;


    Dim strSQL As String, strSQL1 As String, strSQL2 As String, strSQL3 As String

    'inclui variáveis abaixo para localizar o diretório atual onde se encontra o arquivo
    Dim strLocal As String
    Dim strArquivo As String
    Dim dados As String

    strArquivo = "teste2.xls"
    strLocal = "C:\"
    dados = strLocal & strArquivo

    DoCmd.TransferSpreadsheet transfertype:=acImport, _
    TableName:="tblTemporaria", _
    FileName:=dados, Hasfieldnames:=True, _
    Range:="", SpreadsheetType:=5


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Criar Macro no Access que importe dados do Excel Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Criar Macro no Access que importe dados do Excel Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Criar Macro no Access que importe dados do Excel Folder_announce_new Instruções SQL como utilizar...
    avatar
    vmororo
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 4
    Registrado : 17/05/2012

    [Resolvido]Criar Macro no Access que importe dados do Excel Empty Re: [Resolvido]Criar Macro no Access que importe dados do Excel

    Mensagem  vmororo 29/5/2012, 17:36

    Sim, Jpaulo. Desse jeito funciona mas não me atende.

    Vamos fazer de conta que eu não saiba o diretório onde se encontra o arquivo access que o usuário esta usando.
    Usando o ActiveWorkbook.Path eu consigo descobrir.

    Por isso eu preciso que o código abaixo funcione :

    strArquivo = "teste2.xls"
    strLocal = ActiveWorkbook.Path & "\"
    dados = strLocal & strArquivo

    Se tiver alguma outra forma de fazer que possa sugerir, te agradeço!

    valeu ! no aguardo !

    Conteúdo patrocinado


    [Resolvido]Criar Macro no Access que importe dados do Excel Empty Re: [Resolvido]Criar Macro no Access que importe dados do Excel

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 23/11/2024, 09:55