eu tenho uma aplicaçao com um caso identico. ou seja partindo de um ficheiro excel, faz se a importaçao para o access, embora fosse necessario adaptar ao teu caso concreto:
Dim F As Object
Dim varFile As Variant
Set F = Application.FileDialog(3)
F.AllowMultiSelect = False
F.Show
'Procura o ficheiro a importar atraves de uma janela de dialogo
For Each varFile In F.SelectedItems
GetFileName = varFile
Next
Dim wb As Excel.Workbook
Dim xlApp As Excel.Application
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
'apaga as primeiras 6 linhas do ficheiro, podes adaptar ao que precisas, retirando as linhas que nao entrem na base de dados
Set wb = xlApp.Workbooks.Open(GetFileName, True, False)
wb.Sheets(1).rows("1:6").Delete
'guarda o ficheiro excel sem as linhas superiores
wb.Close SaveChanges:=True
' fecha o Excel
xlApp.Quit
Set xlApp = Nothing
' aqui o access liga-se ao ficheiro excel, o que talvez seja suficiente para ti
DoCmd.TransferSpreadsheet acLink, , "XlsTemplate2v", GetFileName, True
finalmente se quiseres transferir os dados da tabela de excel para tabelas do access, fazes uma consulta de adiçao da primeira para a segunda.
tudo isto ira num botao de comando, e sera executado de forma imediata
espero que ajude
↧