inserir registros na tabela access de uma planilha do excel por vba

Luiz Claudio Gomes da Silva 0 Pontos de reputação
2024-03-28T18:52:35.6333333+00:00

inserir registros na tabela access de uma planilha do excel por vba

Windows 10
Windows 10
Um sistema operacional da Microsoft executado em computadores pessoais e tablets.
45 perguntas
Office
Office
Um conjunto de softwares de produtividade da Microsoft que dá suporte a tarefas de negócios comuns, como processamento de texto, emails, apresentações e gerenciamento e análise de dados.
53 perguntas
0 comentários Sem comentários
{count} votos

1 resposta

Classificar por: Mais útil
  1. Stephanie Amarante 235 Pontos de reputação
    2024-04-06T23:38:55.38+00:00

    Olá,

    Talvez esse link do MS Learn resolva: https://learn.microsoft.com/pt-br/office/vba/access/concepts/structured-query-language/insert-update-and-delete-records-from-a-table-using-access-sql

    Tem esse link do YT: https://www.youtube.com/watch?v=rBHWcrSZD18

    E eu trouxe as infos do código desse site: http://exceleaccess.com/excel-e-access-gravando-dados-do-excel-no-access-via-vba-macro-2/

    Você também pode inserir registros de uma planilha do Excel em uma tabela do Access usando VBA, realizando os seguintes passos:

    1. Abra o Access e crie uma tabela com os mesmos campos da planilha do Excel que você deseja importar.
    2. Clique em Criar e selecione Módulo.
    3. No editor do VBA, digite o seguinte código:

    Sub InserirRegistros()

       Dim db As DAO.Database
    
       Dim rs As DAO.Recordset
    
       Dim ws As Worksheet
    
       Dim strSQL As String
    
       Dim i As Long
    
       ' Defina o caminho para o arquivo do Access
    
       Set db = OpenDatabase("C:\Caminho\Para\Seu\Banco.accdb")
    
       ' Defina a planilha do Excel de onde você deseja importar os dados
    
       Set ws = ThisWorkbook.Sheets("NomeDaPlanilha")
    
       ' Defina a consulta SQL para inserção de registros
    
       strSQL = "INSERT INTO NomeDaTabela (Campo1, Campo2, Campo3) VALUES "
    
       ' Percorra as linhas da planilha e insira os registros
    
       For i = 2 To ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
    
           strSQL = strSQL & "(" & ws.Cells(i, 1).Value & ", '" & ws.Cells(i, 2).Value & "', " & ws.Cells(i, 3).Value & "), "
    
       Next i
    
       ' Remova a vírgula extra no final da consulta
    
       strSQL = Left(strSQL, Len(strSQL) - 2)
    
       ' Execute a consulta
    
       db.Execute strSQL
    
       ' Feche o banco de dados
    
       db.Close
    
       MsgBox "Registros inseridos com sucesso!", vbInformation
    

    End Sub

    OBS: Lembre-se de substituir os valores relevantes, como o caminho para o arquivo do Access, o nome da planilha, o nome da tabela e os campos correspondentes. Este código insere registros na tabela especificada com base nos dados da planilha do Excel.

    Espero ter ajudado!

    0 comentários Sem comentários