Mesclar dados em várias tabelas do Excel vinculadas em uma tabela principal do Access

0

Eu tenho várias planilhas do Excel com exatamente os mesmos cabeçalhos que eu vinculei ao Access. Estou com um problema ao mesclar todos os dados dos arquivos do Excel em uma tabela principal do Access, mantendo a tabela mestra do Access atualizada quando as pessoas editam as informações nas planilhas do Excel. Normalmente, uma consulta será usada, mas o banco de dados do Access pode atualizar os dados por si só?

    
por Andrew Tan 21.03.2018 / 07:59

1 resposta

0

O método mais fácil que posso sugerir é Atualizar consulta.

Como as planilhas do Excel são idênticas à Tabela do Banco de Dados do Access, a Atualização da Consulta funcionará mais rapidamente e a planilha do Excel aparecerá como qualquer tabela anexada no Access.

Espero que você não tenha uma linha em branco entre os cabeçalhos e os dados no Excel.

Outra solução é o código VBA, você pode tentar isso.

Private Sub UpdateAccess()

Dim db As Database
Dim rs As RecordSet
Dim sql As String
Dim dbLocation As String

dbLocation = Workbook.Path & "\database\data.accdb"
Set db = OpenDatabase(dbLocation)
sql = "Select * FROM [Main Table]"
Set rs = db.OpenRecordSet(sql, dbOpenSnapshot)

If Not rs.EOF Then
   Worksheets("Sheet1").Range("A1").CopyFromRecordset rs
End If

rs.Close
Set rs = Nothing
db.Close
Set db = Nothing

End Sub

NB: Esse código do VBA funcionará com sucesso quando a mesclagem for incondicional.

    
por 21.03.2018 / 11:55