MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    Planilha Excel.

    Compartilhe

    eli.epo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 15/08/2017

    Planilha Excel.

    Mensagem  eli.epo em Ter 12 Set 2017 - 8:21

    Bom dia!

    Tenho uma planilha excel que pode acescentar uma coluna quando eu puxo ela para base de dados na tabela ela da erro.

    Esse código abaixo escolhe um arquivo e depois exporta para tabela GR55-050 se essa estiver com colunas diferentes da erro, queria poder colocar o nome dessa coluna em uma variavel e criar na tabela antes de exporter.

    Gostaria que em VBA o sistema

    Código:
    Private Sub seletorarq_Click() ' Código Oficial Seletor de Arquivos
    Dim appDialog As FileDialog
    Dim stFile As String
    Dim strPathFile As String, strFile As String, strPath As String
    Dim strTable As String
    Dim blnHasFieldNames As Boolean
    Dim Vararqex As String
    Dim BancoDados As Database 'novo codigo
    Dim Tabela As Recordset    'novo codigo

    Set appDialog = Application.FileDialog(msoFileDialogFilePicker)
    Set BancoDados = CurrentDb 'novo codigo
    Set Tabela = BancoDados.OpenRecordset("tselarq", dbOpenTable)  'novo codigo


    With appDialog      'Abre Seletor de Arquivos
      .AllowMultiSelect = False
      .Title = "Indicadores fora do tempo"
      .InitialView = msoFileDialogViewDetails
      .InitialFileName = "y:\"
      .Filters.Add "Arquivos Excel", "*.xlsx"
      .Show
    End With

      If appDialog.SelectedItems.Count < 1 Then  'Gerencia selector de Arquivos
        MsgBox "Nenhum Arquivo Selecionado" 'Aqui mostra se ele estiver vázio
        Exit Sub
      Else
        stFile = appDialog.SelectedItems(1)  ' Aqui preenche Campo e traz o nome do arquivo para ser manioulado.
        MidWords = Mid(stFile, 89)
        Me.NomeArq = MidWords
        'Tabela.Index = codigo  'novo codigo
        'MsgBox (NArq)
          MsgBox (MidWords)
        'Tabela.Seek "=", 1    'novo codigo
        'If Tabela.NoMatch = True Then  'novo codigo
        'MsgBox ("Registro encontrado!") ' novo codigo
        'Else  'novo codigo
        'MsgBox ("REsgitro não encontrado!") 'novo codigo
        'End If  'novo codigo
        End If
       
        blnHasFieldNames = True
        Vararqex = Me.NomeArq 'valor da caixa de texto a ser transferido para o relatorio
        'MsgBox (Vararqex)
        strPath = "y:" ' drive onde se situa o seu documento excel
        strTable = "GR55-050" 'nome da tabela no seu banco
        strFile = Dir(strPath & MidWords) 'nome do seu excel, se mudar para "*.xls" importa todas as folhas excel _
        que estiverem em C:\ para a tabela do banco.
        Do While Len(strFile) > 0
        strPathFile = strPath & strFile
        DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, _
        strTable, strPathFile, blnHasFieldNames
        strFile = Dir()
        Loop
     
    End Sub

      Data/hora atual: Qui 18 Out 2018 - 11:18