Contente
Aprender a usar o Visual Basic for Applications para importar dados para o Access pode deixar sua aplicação de banco de dados mais dinâmica. No VBA, você pode usar uma combinação de objetos para abrir uma planilha do Excel e importar dados para uma tabela do Access. Use a Biblioteca de Objetos para o Microsoft Excel no VBA para poder abrir a planilha. O objeto Recordset é usado para abrir uma tabela no Access e salvar dados importados do Excel. Usar o VBA para importar dados reduz significativamente o tempo gasto caso fizesse o processo manualmente.
Instruções
Importe dados do Excel para o Access usando a Biblioteca de Objeto do Excel (Jupiterimages/Photos.com/Getty Images)-
Abra o Microsoft Excel e digite "data1" em A2 e "data2" em B2. Pressione Ctrl+S para salvar o documento. Salve a planilha em "C:Temp" com o nome "dataToImport.xlsx". Clique em Salvar e feche o Excel.
-
Inicie o Microsoft Access, clique em "Novo Banco de Dados" e clique em "Criar". Clique em "Ferramentas de Banco de Dados" e clique em "Visual Basic" para abrir o editor do VB. Clique no menu "Inserir" e clique em "Módulo" para inserir um novo módulo de código. Clique no menu "Ferramentas" e depois em "Referências" e marque a caixa ao lado de "Biblioteca de Objetos do Microsoft Excel
'. -
Comece digitando o código VBA a seguir para criar um novo sub-procedimento:
Private Sub importExcelData()
-
Digite o código a seguir para criar as variáveis a serem usadas para ler o Excel:
Dim xlApp As Excel.Application Dim xlBk As Excel.Workbook Dim xlSht As Excel.Worksheet
-
Digite o código a seguir para criar as variáveis a serem usadas no Access:
Dim dbRst As Recordset Dim dbs As Database Dim SQLStr As String
-
Digite o código a seguir para definir os objetos do banco e também para definir qual planilha usar:
Set dbs = CurrentDb Set xlApp = Excel.Application Set xlBk = xlApp.Workbooks.Open("C:TempdataToImport.xlsx") Set xlSht = xlBk.Sheets(1)
-
Crie uma nova tabela com duas colunas no Access para importar dados do Excel. Digite o código a seguir para criar a tabela usando o objeto DoCmd:
SQLStr = "CREATE TABLE excelData(columnOne TEXT, columnTwo TEXT)" DoCmd.SetWarnings False DoCmd.RunSQL (SQLStr)
-
Abra a tabela que você acabou de criar usando um objeto Recordset. Digite o código a seguir para abrir a tabela e adicionar uma nova linha:
Set dbRst = dbs.OpenRecordset("excelData") dbRst.AddNew
-
Digite o código a seguir para obter os valores da planilha do Excel, salvá-las em sua tabela e atualizar o registro:
xlSht.Range("A2").Select dbRst.Fields(0).Value = xlSht.Range("A2").Value xlSht.Range("B2").Select dbRst.Fields(1).Value = xlSht.Range("B2").Value dbRst.Update
-
Termine o procedimento digitando o seguinte código de VBA:
dbRst.Close dbs.Close xlBk.Close End Sub
-
Pressione F5 para executar o procedimento. Os dados da planilha do Excel serão importados para sua tabela do Access.