Pessoal, boa tarde!
Busquei tanto no maximoaccess como em outros fóruns do Brasil e do exterior mas não achei função semelhante.
A função é tão simples que não quis usar DAO ou DOA para fazer o excel e o access conversarem. O volume é muito pequeno, então mesmo que o desempenho seja bem menor da forma que estou codificando atenderá com folga minha necessidade.
Detalhes da operação a ser realizada:
Tenho uma planilha do Excel "Formulario_LC.xlsx", com uma aba "Formulario_LC" que sempre terá apenas duas linhas preenchidas:
Linha 1 - cabeçalho (rótulo dos dados)
Linha 2 - 114 colunas com dados
Tenho uma tabela "BD_LC" no banco "CAP_be2.accdb", que foi criada com base na planilha do excel, ou seja, já está devidamente formatada para receber os dados, tanto que o "copiar e colar" manual já funciona.
Preciso copiar a linha 2 da aba "Formulario" e colar como um novo registro na "BD_LC". Já tenho boa parte do código (e está funcionando até o momento).
A função "gravar macro" do excel não permite a realização de comandos no access, senão já estava resolvido rs.
Para concluir o código abaixo, preciso saber como:
1. SELECIONAR POR INTEIRO SEMPRE A 1ª LINHA da tabela "BD_LC" EM BRANCO (a linha com asterisco - "novo registro")
2. COLAR (da área de transferência)
3. FECHAR O ACCESS.
Abaixo segue o código que já tenho até o momento para referência.
Agradeço a atenção dispensada!
Busquei tanto no maximoaccess como em outros fóruns do Brasil e do exterior mas não achei função semelhante.
A função é tão simples que não quis usar DAO ou DOA para fazer o excel e o access conversarem. O volume é muito pequeno, então mesmo que o desempenho seja bem menor da forma que estou codificando atenderá com folga minha necessidade.
Detalhes da operação a ser realizada:
Tenho uma planilha do Excel "Formulario_LC.xlsx", com uma aba "Formulario_LC" que sempre terá apenas duas linhas preenchidas:
Linha 1 - cabeçalho (rótulo dos dados)
Linha 2 - 114 colunas com dados
Tenho uma tabela "BD_LC" no banco "CAP_be2.accdb", que foi criada com base na planilha do excel, ou seja, já está devidamente formatada para receber os dados, tanto que o "copiar e colar" manual já funciona.
Preciso copiar a linha 2 da aba "Formulario" e colar como um novo registro na "BD_LC". Já tenho boa parte do código (e está funcionando até o momento).
A função "gravar macro" do excel não permite a realização de comandos no access, senão já estava resolvido rs.
Para concluir o código abaixo, preciso saber como:
1. SELECIONAR POR INTEIRO SEMPRE A 1ª LINHA da tabela "BD_LC" EM BRANCO (a linha com asterisco - "novo registro")
2. COLAR (da área de transferência)
3. FECHAR O ACCESS.
Abaixo segue o código que já tenho até o momento para referência.
- Código:
Sub AccessMacro()
Dim app As Object
Set app = CreateObject("Access.Application")
app.OpenCurrentDatabase "Q:\0001\CAP_be2.accdb"
app.Visible = True
app.DoCmd.openTable "BD_LC"
Workbooks.Open Filename:= _
"Q:\0000\Formulario_LC.xlsx"
Rows("2:2").Select
Selection.Copy
app.UserControl = True '//If you want to hand control over to user, otherwise Access closes when the routine finishes
Application.DisplayAlerts = False 'desabilite o alerta
Workbooks("Formulario_LC.xlsx").Close
Application.DisplayAlerts = True 'habilite novamente
End Sub
Agradeço a atenção dispensada!
Última edição por diegoaraujo em 12/11/2016, 14:30, editado 3 vez(es)