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


3 participantes

    [Resolvido]Importar do excel para access

    avatar
    maryprego
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Angola
    Mensagens : 99
    Registrado : 16/07/2017

    [Resolvido]Importar do excel para access Empty [Resolvido]Importar do excel para access

    Mensagem  maryprego 22/8/2017, 18:14

    olá a todos,
    encontrei aqui um exemplo de importar dados do Excel para access do amigo  marcelo3092.
    consegui adaptar para minha bd mas encontrei um problema ao importar: não está a importar os dados para o campo departamento, seccao, funcao e centro. visto que esses campo estão vinculados com tabela tbl_departamento, tbl_seccao, tbl_funcao e tbl_centroloja.

    estou dando no duro para sai dessa mas não estou tendo exito, alguém pode me ajudar.
    segue a bd
    Anexos
    [Resolvido]Importar do excel para access Attachmentexemplo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (461 Kb) Baixado 21 vez(es)
    avatar
    maryprego
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Angola
    Mensagens : 99
    Registrado : 16/07/2017

    [Resolvido]Importar do excel para access Empty Re: [Resolvido]Importar do excel para access

    Mensagem  maryprego 23/8/2017, 17:58

    de realçar que também anexei o ficheiro do Excel.
    aguardando a vossa ajuda.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8513
    Registrado : 05/11/2009

    [Resolvido]Importar do excel para access Empty Re: [Resolvido]Importar do excel para access

    Mensagem  Alexandre Neves 23/8/2017, 21:11

    Boa noite,
    está a utilizar a função TransferSpreadsheet
    Em vez disso, utilize a abertura do Excel e crie recordset, depois é importar para onde pretende
    Dá mais trabalho mas fica à sua medida


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    maryprego
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Angola
    Mensagens : 99
    Registrado : 16/07/2017

    [Resolvido]Importar do excel para access Empty Re: [Resolvido]Importar do excel para access

    Mensagem  maryprego 23/8/2017, 22:31

    obrigado pelo breve retorno,
    sou leigo em vba, será que podes me ajudar...
    mas vou tentando aqui também.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8513
    Registrado : 05/11/2009

    [Resolvido]Importar do excel para access Empty Re: [Resolvido]Importar do excel para access

    Mensagem  Alexandre Neves 24/8/2017, 08:59

    Bom dia,

    Adapte do género

    dim Rst as dao.recordset, LivroExcel as object

    'criar ligação com excel
    Set LivroExcel = CreateObject("Excel.Application")
    LivroExcel.Workbooks.Open (NomeCompletoFicheiro)
    'criar recordet
    set Rst =currentdb.openrecordset("instrução sql de tabela/consulta dos campos que pretende utilizar para acrescentar novos registos")

    'cria novo registo na tabela e importa do excel
    Rst.AddNew
    Rst("NomeCampo") = LivroExcel.Cells(Linha, Coluna)
    ... importação de outros dados como na linha anterior

    'fechaexcel
    LivroExcel.ActiveWorkbook.Close SaveChanges:=False
    Set LivroExcel = Nothing

    'fecha rst
    set rst=nothing


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    maryprego
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Angola
    Mensagens : 99
    Registrado : 16/07/2017

    [Resolvido]Importar do excel para access Empty Re: [Resolvido]Importar do excel para access

    Mensagem  maryprego 24/8/2017, 17:06

    agradeço imenso pela ajuda que tem prestado mestre Alexandre Neves,

    criei um novo form importarexcel e coloquei no botão btnimportar e tentei adaptar não está a funfar.
    alguem pode me ajudar.
    desde já agradeço
    Anexos
    [Resolvido]Importar do excel para access Attachmentexemplo2.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (455 Kb) Baixado 12 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8513
    Registrado : 05/11/2009

    [Resolvido]Importar do excel para access Empty Re: [Resolvido]Importar do excel para access

    Mensagem  Alexandre Neves 24/8/2017, 22:25

    Boa noite,
    Reveja, porque está a querer importar Departamento (nome) mas na tabela está número
    Código:
    Private Sub btnImportar_Click()
    Dim Rst As DAO.Recordset, LivroExcel, Linha As Integer

    'criar ligação com excel
    Set LivroExcel = CreateObject("Excel.Application")
    LivroExcel.Workbooks.Open CurrentProject.Path & "\Funcionarios.xlsx"
    'criar recordet
    Set Rst = CurrentDb.OpenRecordset("SELECT NumFuncionario, NomeFuncionario, Departamento, Seccao, Funcao, Centro, DataAdmissao FROM Tbl_CadFuncionario")
    'cria novo registo na tabela e importa do excel
    Linha = 2
    Do While LivroExcel.Cells(Linha, 1)
    Rst.AddNew
    Rst("NumFuncionario") = LivroExcel.Cells(Linha, 1)
    Rst("NomeFuncionario") = LivroExcel.Cells(Linha, 2)
    Rst("Departamento") = LivroExcel.Cells(Linha, 3)
    Rst("Seccao") = LivroExcel.Cells(Linha, 4)
    Rst("Funcao") = LivroExcel.Cells(Linha, 5)
    Rst("Centro") = LivroExcel.Cells(Linha, 6)
    Rst("DataAdmissao") = LivroExcel.Cells(Linha, 7)
    Rst.Update
    Linha = Linha + 1
    Loop
    'fechaexcel
    LivroExcel.ActiveWorkbook.Close SaveChanges:=False
    Set LivroExcel = Nothing

    'fecha rst
    Set Rst = Nothing
    End Sub


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    maryprego
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Angola
    Mensagens : 99
    Registrado : 16/07/2017

    [Resolvido]Importar do excel para access Empty Re: [Resolvido]Importar do excel para access

    Mensagem  maryprego 26/8/2017, 16:44

    boa tarde,

    na tabela departamento está número porque usei assistente de pesquisa para buscar os dados na tabela departamento...
    é ai onde está o problema. não tenho conhecimento avançado de como ir buscar dados em outras tabelas sem que elas não se convertam em números.
    se tiveres uma ideia de como ultrapassar essa situação agraço.
    Anexos
    [Resolvido]Importar do excel para access Attachmentexemplo3.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (450 Kb) Baixado 17 vez(es)
    marcelo3092
    marcelo3092
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 299
    Registrado : 19/08/2010

    [Resolvido]Importar do excel para access Empty Importar do excel

    Mensagem  marcelo3092 26/8/2017, 21:11

    Boa tarde amigo eu tenho dois exemplos de importar para o excel e exportar. Minha duvida e qual motivo vc precisa importar do excel para o access pois como vc falo no excel vc precisa saber o código do departamento que esta cadastrado na tabela seção e função e mesmo que se coloque nome nesses campos que pesquisa vc não pode colocar qualquer nome no excel e importar para o access pois vai da erro. o certo seria nos campos que vc pois para buscar nas tabela fique como texto normal. Pois vc vai ter que saber de cabeça como esta cadastrado a função departamento seção para não da erro.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8513
    Registrado : 05/11/2009

    [Resolvido]Importar do excel para access Empty Re: [Resolvido]Importar do excel para access

    Mensagem  Alexandre Neves 26/8/2017, 21:24

    Boa noite,
    Bastava utilizar o DLookup
    Código:
    Private Sub btnImportar_Click()
        '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        '  código criado por Alexandre Neves, do Fórum MaximoAccess                                                '
        '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        Dim Rst As DAO.Recordset, LivroExcel, Linha As Integer

        'criar ligação com excel
        Set LivroExcel = CreateObject("Excel.Application")
        LivroExcel.Workbooks.Open CurrentProject.Path & "\Funcionarios.xlsx"
        'criar recordet
        Set Rst = CurrentDb.OpenRecordset("SELECT NumFuncionario, NomeFuncionario, Departamento, Seccao, Funcao, Centro, DataAdmissao FROM Tbl_CadFuncionario")
        'cria novo registo na tabela e importa do excel
        Linha = 2
        Do While LivroExcel.Cells(Linha, 1)
        Rst.AddNew
        Rst("NumFuncionario") = LivroExcel.Cells(Linha, 1)
        Rst("NomeFuncionario") = LivroExcel.Cells(Linha, 2)
        Rst("Departamento") = DLookup("ID_Dep", "Tbl_departamento", "Departamento='" & LivroExcel.Cells(Linha, 3) & "'")
        Rst("Seccao") = DLookup("ID_Sec", "Tbl_Seccao", "Seccao='" & LivroExcel.Cells(Linha, 4) & "' and ID_Dep=" & DLookup("ID_Dep", "Tbl_departamento", "Departamento='" & LivroExcel.Cells(Linha, 3) & "'"))
        Rst("Funcao") = DLookup("ID_Func", "Tbl_Funcao", "Funcao='" & LivroExcel.Cells(Linha, 5) & "' and ID_Dep=" & DLookup("ID_Dep", "Tbl_departamento", "Departamento='" & LivroExcel.Cells(Linha, 3) & "'"))
        Rst("Centro") = DLookup("ID_Cen", "Tbl_CentroLoja", "Centro='" & LivroExcel.Cells(Linha, 6) & "'")
        Rst("DataAdmissao") = LivroExcel.Cells(Linha, 7)
        Rst.Update
        Linha = Linha + 1
        Loop
        'fechaexcel
        LivroExcel.ActiveWorkbook.Close SaveChanges:=False
        Set LivroExcel = Nothing
       
        'fecha rst
        Set Rst = Nothing
    End Sub


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    maryprego
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Angola
    Mensagens : 99
    Registrado : 16/07/2017

    [Resolvido]Importar do excel para access Empty Re: [Resolvido]Importar do excel para access

    Mensagem  maryprego 27/8/2017, 15:58

    boa tarde,
    agradeço imenso pelo grande esforço por me ajudar,
    agora sim, está funcionar, magnífico mestre Alexandre Neves. cheers

    não querendo abusar dos seus grandes conhecimentos, mas como ficaria se o ficheiro do Excel ficasse em outra pasta qualquer/local para poder proceder a importação a partir daquele local.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8513
    Registrado : 05/11/2009

    [Resolvido]Importar do excel para access Empty Re: [Resolvido]Importar do excel para access

    Mensagem  Alexandre Neves 27/8/2017, 21:02

    Boa noite,
    Está indicada a pasta da bd (LivroExcel.Workbooks.Open CurrentProject.Path & "\Funcionarios.xlsx")
    Altere para a que pretender


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    maryprego
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Angola
    Mensagens : 99
    Registrado : 16/07/2017

    [Resolvido]Importar do excel para access Empty Re: [Resolvido]Importar do excel para access

    Mensagem  maryprego 28/8/2017, 18:03

    grato!

    Conteúdo patrocinado


    [Resolvido]Importar do excel para access Empty Re: [Resolvido]Importar do excel para access

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/12/2024, 09:56