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]Importar Excel e ignorar cabeçalho.

    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 601
    Registrado : 20/01/2014

    [Resolvido]Importar Excel e ignorar cabeçalho. Empty [Resolvido]Importar Excel e ignorar cabeçalho.

    Mensagem  XPTOS Dom 20 Set - 17:39

    Prezados,

    vejam se minha duvida é pertinente e se tem como contornar esta situação:

    Eu uso este código para importar planilhas em Excel para o Access, porém, sempre que recebo o novo arquivo excel para importar eu preciso modificar o cabeçalho do xlsx e deixar o mesmo igual está na minha tabela.

    Tem como ignorar as 4 primeiras linhas do arquivo xlsx no momento da importação?
    Seria basicamente como se o arquivo não tivesse cabeçalho.

    Dim strPathFile As String, strFile As String, strPath As String
    Dim strTable As String
    Dim CaminhoDoFicheiro As String
    Dim JanelaDeProcura As Office.FileDialog
    Dim MeusFiltros As Office.FileDialogFilter
    Dim blnHasFieldNames As Boolean

    'On Error Resume Next
    If Forms!logon!nivel = "FINANCEIRO" Or Forms!logon!cboSetor = "ADMINISTRADOR" Then

    blnHasFieldNames = True

    ' strArquivo = Mid(Arquivo, InStrRev(Arquivo, "\") + 1)
    '---------------------------------------------------------------------------------
    'Aplica na variável o nome do caminho que será gravado o arquivo + o nome do mesmo
    '---------------------------------------------------------------------------------
    ' NovoCaminho = CurrentProject.Path & "\Arquivos Importados\" & strArquivo

    strPath = CurrentProject.Path & "\Demonstrativo de Pagamento\" & InitialFileName ' drive onde se situa o seu documento excel
    strTable = "RecebidoMDLMODELO" 'nome da tabela no seu banco que recebera os dados

    Set JanelaDeProcura = Application.FileDialog(msoFileDialogFilePicker)

    With JanelaDeProcura
    .Title = "Selecione o arquivo"
    .Filters.Clear
    .Filters.Add "Excel Files", "*.xlsx"

    .FilterIndex = 2

    .ButtonName = "Selecione"
    .InitialView = msoFileDialogViewDetails
    .InitialFileName = CurrentProject.Path & "\Demonstrativo de Pagamento\" & InitialFileName
    If .Show = -1 Then
    CaminhoDoFicheiro = CStr(JanelaDeProcura.SelectedItems.Item(1))
    Else
    Exit Sub
    End If
    Debug.Print Mid([CaminhoDoFicheiro], InStrRev([CaminhoDoFicheiro], "\") + 1)
    CaminhoDoFicheiro = Mid([CaminhoDoFicheiro], InStrRev([CaminhoDoFicheiro], "\") + 1)
    End With

    strFile = Dir(strPath & CaminhoDoFicheiro) 'preciso que aqui tenha uma opção para procurar o arquivo, com "*.xls" ele carrega todos, e eu quero que ele defina o selecionado.

    Do While Len(strFile) > 0
    strPathFile = strPath & strFile

    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, _
    strTable, strPathFile, blnHasFieldNames
    strFile = Dir()
    Loop

    '----------------------
    'Exclui simbolos da tabela Recebido
    Dim rs As Recordset
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM RecebidoMDLMODELO")
    While (Not rs.EOF)
    On Error Resume Next
    rs.Edit
    rs("CdGuia") = Replace(rs("CdGuia"), "-", "")
    rs("CdUsuario") = Replace(rs("CdUsuario"), ".", "")
    rs("QtServico") = Replace(rs("QtServico"), "000", "")
    rs.Update
    rs.MoveNext

    Wend
    rs.Close

    'Insert de Servicos Bloqueados
    DoCmd.OpenQuery "QueryInsertServicosBloqueados"

    'Exclui linha que tem a descrição: Servicos Bloqueados
    DoCmd.OpenQuery "QueryExclServicosBloqueados"

    'Seta registros na tabela Recebido
    CurrentDb.Execute "INSERT INTO Recebido ( senhaAutorizacao, numeroCarteira, nomeBeneficiario, codigo, descricao, dataHoraInternacao, quantidade, valorUnitario, valorTotal )" & vbCrLf & _
    "SELECT RecebidoMDLMODELO.CdGuia, RecebidoMDLMODELO.CdUsuario, RecebidoMDLMODELO.NoUsuario2, RecebidoMDLMODELO.CdServico, RecebidoMDLMODELO.NoServico, RecebidoMDLMODELO.strDtAtendimento, Sum(RecebidoMDLMODELO.QtServico) AS SomaQtServico" & vbCrLf & _
    ",Sum(RecebidoMDLMODELO.VlReferencia) AS SomaDeVlReferencia, Sum(RecebidoMDLMODELO.VlPago_Em_Moeda) AS SomaDeVlPago_Em_Moeda" & vbCrLf & _
    "FROM RecebidoMDLMODELO" & vbCrLf & _
    "GROUP BY RecebidoMDLMODELO.CdGuia, RecebidoMDLMODELO.CdUsuario, RecebidoMDLMODELO.NoUsuario2, RecebidoMDLMODELO.CdServico, RecebidoMDLMODELO.NoServico, RecebidoMDLMODELO.strDtAtendimento;"

    'Exclui linha que tem a nome: Nulo em Recebido
    DoCmd.OpenQuery "QueryExcelRecebidosNull"

    CurrentDb.Execute "DELETE * FROM RecebidoMDLMODELO"

    MsgBox "Demonstrativo de pagamento importado com sucesso!", vbInformation, "Importar Registros"
    DoCmd.OpenForm "frmDtCredito"

    Else
    MsgBox "USUÁRIO ATUAL NÃO TEM PERMISSÃO PARA ALTERAR AS CONFIGURAÇÕES DE ACESSO!", vbCritical, "Aviso"
    End If


    [Resolvido]Importar Excel e ignorar cabeçalho. 2cfxdo9
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 601
    Registrado : 20/01/2014

    [Resolvido]Importar Excel e ignorar cabeçalho. Empty Re: [Resolvido]Importar Excel e ignorar cabeçalho.

    Mensagem  XPTOS Qua 23 Set - 13:17

    Up.
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 601
    Registrado : 20/01/2014

    [Resolvido]Importar Excel e ignorar cabeçalho. Empty Re: [Resolvido]Importar Excel e ignorar cabeçalho.

    Mensagem  XPTOS Qui 24 Set - 14:34

    Pesquisei no fórum o código abaixo



    Funciona bem para limpar os campos da planilha Excel, mas ainda ficam os campos em branco no arquivo e apresenta erro de importação quando vou rodar o código. Erro "F1 não existe na tabela".

    Alguma dica?
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 601
    Registrado : 20/01/2014

    [Resolvido]Importar Excel e ignorar cabeçalho. Empty Re: [Resolvido]Importar Excel e ignorar cabeçalho.

    Mensagem  XPTOS Sex 2 Out - 18:31

    Up.
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 601
    Registrado : 20/01/2014

    [Resolvido]Importar Excel e ignorar cabeçalho. Empty Re: [Resolvido]Importar Excel e ignorar cabeçalho.

    Mensagem  XPTOS Seg 26 Out - 13:19

    Up.
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 601
    Registrado : 20/01/2014

    [Resolvido]Importar Excel e ignorar cabeçalho. Empty Re: [Resolvido]Importar Excel e ignorar cabeçalho.

    Mensagem  XPTOS Ter 27 Out - 18:10

    Resolvido.
    avatar
    luizbtadeu
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 22
    Registrado : 09/12/2015

    [Resolvido]Importar Excel e ignorar cabeçalho. Empty Re: [Resolvido]Importar Excel e ignorar cabeçalho.

    Mensagem  luizbtadeu Sex 11 Dez - 14:14

    XPTOS,

    TUDO BEM,

    como vc conseguir pular o cabeçalho sem que o access bloqueace.

    o que esta acontecendo ao fazer a importação do excel para o access

    usando o componente ou objeto DoCmd
    consigo pular o cabeçalho usando o range porem o access não valida a informação.

    quando excuta a importação ele pega a partir da 2 linha mas da a seguinte mens:

    Field '425638' doesn't exist in destination table ou seja no excel pulo mas o access verifica
    o nome das colunas.

    como conseguiu resolver isso.

    Obrigado.
    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 601
    Registrado : 20/01/2014

    [Resolvido]Importar Excel e ignorar cabeçalho. Empty Re: [Resolvido]Importar Excel e ignorar cabeçalho.

    Mensagem  XPTOS Sex 11 Dez - 14:22

    Olá luizbtadeu,

    Me passa seu e-mail que eu te envio um pequeno modelo.

    Atenciosamente,
    avatar
    luizbtadeu
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 22
    Registrado : 09/12/2015

    [Resolvido]Importar Excel e ignorar cabeçalho. Empty Re: [Resolvido]Importar Excel e ignorar cabeçalho.

    Mensagem  luizbtadeu Sáb 12 Dez - 9:49

    Bom dia XPTOS,

    Segue: luizbtadeu@gmail.com.

    Mensagem apresentada:
    O campo 'Doc#SD;Fornecedor;Descrição Forn#;Cond#pgto#;Tipo doc#vendas;I' não existe na tabela de destino 'Tempxxxx'.

    Nota: Mesmo usando especificação do access ao criar a estrutura ocorre esse problema.

    nome das colunas Access 2010:

    DocSD Fornecedor DescricaoFornecedor Condpgto Tipodocvendas Item1 Docfaturamento NotaFiscal Item2 Nrodocumento Centro Cliente Desc Cliente Filial Local Regiao Material Denominacao Qtdfaturada UM básica Data pedido h Pedido Dt1 remessa Data Liberação Data Confirmação Dtafaturamento h Fatura Data Despacho Hora Despacho Data Entrega Dias Reservar Dias Faturar Dias Entrega Falta de Estoque Total Dias Dt Deseja Entr Dias Atraso LiberacaobloqPrazo LiberacaobloqPreco Liberação bloq Créd Liberação bloq Progr Liberação outr Bloq Dias Bloq Prazo Dias Bloq Preco Dias Bloq Credito Dias Bloq Prog Posicao

    Linha de comando:

    DoCmd.TransferText TransferType:=acImportDelim, TableName:="Tempxxxxx", Filename:=strDir, HasFieldNames:=True


    Obrigado pelo apoio.





    XPTOS
    XPTOS
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 601
    Registrado : 20/01/2014

    [Resolvido]Importar Excel e ignorar cabeçalho. Empty Re: [Resolvido]Importar Excel e ignorar cabeçalho.

    Mensagem  XPTOS Seg 14 Dez - 8:11

    Olá,

    Veja seu e-mail.

    Conteúdo patrocinado


    [Resolvido]Importar Excel e ignorar cabeçalho. Empty Re: [Resolvido]Importar Excel e ignorar cabeçalho.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: Sex 19 Abr - 3:15