As macros Excel são uma ferramenta útil para automatizar tarefas repetitivas, e podem ser utilizadas para importar rápida e eficientemente dados de folhas de cálculo Excel para bases de dados Access. Neste artigo, vamos guiá-lo através dos passos de como utilizar uma macro para importar uma folha de cálculo Excel para o Access.
Antes de começar, terá de configurar a sua macro. Isto inclui criar o código da macro, nomear a macro, e definir os parâmetros da macro.
Uma vez que tenha a sua macro configurada, pode executá-la abrindo a janela da macro e clicando no botão “Executar”.
Ao executar a macro, terá de definir a fonte de dados Excel para que a macro saiba onde procurar os dados a serem importados. Isto inclui a definição do intervalo e da folha de trabalho.
O passo seguinte é definir o destino dos dados de Acesso. Isto implica especificar a tabela ou consulta de Acesso e os nomes dos campos para os quais pretende que os dados sejam importados.
Uma vez especificada a fonte e o destino dos dados, é necessário mapear os dados. Isto envolve a definição dos campos da fonte de dados Excel que serão importados para quais campos no destino dos dados do Access.
Por vezes, a macro pode não funcionar correctamente ou os dados podem não ser importados correctamente. Nestes casos, será necessário resolver os problemas da macro e verificar os parâmetros e o mapeamento para se certificar de que estão correctos.
Uma vez que a macro esteja a funcionar correctamente, terá de a salvar para que possa voltar a funcionar no futuro.
Finalmente, pode automatizar o processo agendando a macro para correr a intervalos regulares. Isto permitir-lhe-á manter a sua base de dados Access actualizada com os últimos dados da folha de cálculo Excel.
Seguindo os passos descritos neste artigo, pode facilmente automatizar o processo de importação de uma folha de cálculo Excel para o Access com uma macro.
Existem algumas formas diferentes de importar dados para uma macro no Access. Uma maneira é utilizar a acção Importar Registos. Para o fazer, abra a macro na vista Design e clique na acção Importar Registos de Importação no painel Macro Objectos. Depois, siga as instruções na caixa de diálogo Importar Registos para seleccionar os dados que pretende importar.
Outra forma de importar dados para uma macro é utilizar a acção RunSQL. Para o fazer, abra a macro na vista Design e clique na acção RunSQL no painel Macro Objectos. Na caixa de diálogo da acção RunSQL, introduza a instrução SQL que pretende utilizar para importar os dados. Por exemplo, se quiser importar dados de um ficheiro CSV, utilizaria a seguinte instrução SQL:
LOAD DATA INFILE ‘C:\path\\p para ‘file.csv’ INTO TABELA mytable FIELDS TERMINATED BY ‘,’ OPTIONALMENTE ENCLOSED BY ‘””. LINHAS TERMINADAS POR ‘r
;
Também pode utilizar a acção RunSQL para importar dados de uma folha de cálculo Excel. Para o fazer, utilizaria uma declaração como a seguinte:
INSERIR NA minha mesa (campo1, campo2, campo3) SELECCIONAR campo1, campo2, campo3 DE OPENROWSET(‘Microsoft.ACE.OLEDB.12.0’, ‘Excel 12.0;Base de dados=C:\path\paper.xlsx; HDR=YES’, ‘SELECCIONAR * DE [Folha1$]’);
Para mais informações sobre a importação de dados para o Access, ver os seguintes recursos:
https://support.office.com/en-us/article/Import-or-link-to-data-in-a-text-file-7821d4b6-7c1d-4205-aa0e-a319e9b5cfad
https://msdn.microsoft.com/en-us/library/office/gg278322.aspx
Existem algumas formas diferentes de importar dados do Excel para o Access usando VBA. Uma maneira é usar o método TransferSpreadsheet. Este método pode ser usado para importar dados de uma folha de trabalho do Excel para uma tabela do Access. A sintaxe para este método é a seguinte:
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, “TableName”, “FileName”, True
Neste exemplo, “TableName” é o nome da tabela Access para onde pretende importar os dados, e “FileName” é o nome do ficheiro Excel do qual pretende importar os dados. O argumento Verdadeiro indica que a primeira linha de dados da folha de trabalho Excel deve ser importada como nomes de campo para a tabela Access.
Outra forma de importar dados do Excel para o Access usando VBA é usar os objectos ADO. Os objectos ADO permitem a ligação a uma pasta de trabalho Excel e depois manipular os dados nela contidos como se fosse uma base de dados do Access. A sintaxe para isto é a seguinte:
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Conn.Open “Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:MyExcelFile.xlsx;Extended Properties=””Excel 12.0 Xml;HDR=YES””;”
Set rs = conn.Execute(“SELECT * FROM [Sheet1$]”)
As duas primeiras linhas criam uma ligação ADO e objectos do conjunto de registos. A ligação é então aberta para a pasta de trabalho Excel. A instrução SQL é então executada contra a pasta de trabalho, e os dados são devolvidos no conjunto de registos. A partir daí, é possível manipular os dados tal como se faria com qualquer outro conjunto de registos.
Sim, é possível importar uma folha de cálculo do Excel para o Microsoft Access. Para o fazer, abra o Access e seleccione o separador Ficheiro. Sob o separador Ficheiro, seleccione Abrir. Na caixa de diálogo Abrir, seleccionar o tipo de ficheiro como Microsoft Excel. Seleccione o ficheiro Excel que pretende importar, e depois clique em Abrir.