Notifications
Clear all

Comunicação Excel e formulário do Acces

2 Posts
2 Usuários
0 Reactions
1,307 Visualizações
(@matheusace)
Posts: 0
New Member
Topic starter
 

Prezados(as) bom dia,
estou desenvolvendo uma planilha que possui uma fonte de dados no Acess, no Acess eu possuo um formulário que faz as consultas e atualiza a tabela para que o Excel pegue os dados gerados, pois bem a empresa solicitou que eu adicionasse no Excel o formulário que está no Acess para que a consulta rode diretamente do Excel, é possível fazer isso?

Resumindo:
Preciso alimentar o formulário do Acess pelo Excel!, o formulário é básicamente (Data Inicio e Data Fim)

Código:

Meu código VBA apenas copia os dados que foram gerados no Acess.

Agradeço desde-já!
Att,
Matheus Arruda

Public Sub exportarTabelas()

Dim sSQL As String
Dim rst As ADODB.Recordset
Dim Conn As ADODB.Connection
 

On Error GoTo trataErro


    Set Conn = New ADODB.Connection
    With Conn
        .Provider = "Microsoft.JET.OLEDB.4.0"
        .ConnectionString = "Data Source=" & ThisWorkbook.Path & "tabela.mdb"
        .Open
        
   End With

    Call AbrirBanco

sSQL = "Select * from KanbanLTQ_final"


Set rst = New ADODB.Recordset
rst.Open sSQL, Conn


ActiveWorkbook.Sheets("KanbanLTQ_final").Cells(2, 1).CopyFromRecordset rst

rst.Close
Set rst = Nothing
Conn.Close
Set Conn = Nothing
Call Copia_Formula
MsgBox ("Dados copiados com sucesso.")

Exit Sub

trataErro:
  MsgBox ("Erro : " & Err.Description)
End Sub
 
Postado : 15/03/2016 8:57 am
(@tarcelles)
Posts: 0
New Member
 

Eu uso da seguinte forma E BEM SIMPLES, ESPERO TER AJUDADO.

Dentro de um Modulo Chamado CONEXAO

Option Explicit

Global banco As Database
Global consulta As Recordset

Sub Conecta()
Dim Texto As String
On Error GoTo Erro
'Rotina para fazer a conexão com o Banco de Dados em Access

Set banco = OpenDatabase(ActiveWorkbook.Path & "base.mdb", False, False, "MS Access;PWD=123")

Exit Sub
Erro:
Texto = "Banco de Dados OFFLINE - Favor Contate o Administrador "
MsgBox "" & Texto, vbCritical, "BANCO DE DADOS"
Call auto_close

End Sub

'Para adicionar itens do Formulario para o BD usa assim :

Call Conecta
ComandoSQL = "SELECT * FROM USUARIO"
Set consulta = banco.OpenRecordset(ComandoSQL)

With consulta
.AddNew
.Fields("MATRICULA") = tmat.Text
.Fields("NOME") = TMAT.TEXT
.Update
End With

' PARA ADD ITENS DA PLANIHA PRO BD

Sheets("CADASTRO").Select
TOTALINHAS = Cells(Cells.Rows.count, "A").End(xlUp).Row

For I = 2 To TOTALINHAS
With consulta
.AddNew
.Fields("MATRICULA") = Plan3.Range("A" & I)
.Fields("NOME") =Plan3.Range("B" & I)
.Update
End With
Next I

'PARA EDITAR

CONSULTA.EDIT
CONSULTA("NOME")=ME.TNOME.TEXT
CONSULTA.UPDATE

 
Postado : 15/03/2016 10:09 am