Notifications
Clear all

Atualizar planilha com conexao no access

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

IAE pessoal me ajuda nessa,

tenho uma planilha que e atualizada diariamente quando os dados são preenchido no access,

porem para atualizar as planilhas tem que entrar nela e clicar no botao atualizat tudo,e são 40 planilhas

fiz uma macro simples em um excel vazio com um botao,

primeiro ele abre a planilha depois atualiza fecha e salva, porem a atualização demora ai ele já chama o evento de baixo cancelando a atualização.

como poderia resolver este problema !!!!

PF me ajudem abrçs

 
Postado : 29/06/2015 7:24 pm
(@edcronos)
Posts: 1006
Noble Member
 

eu estou começando com access agora e ainda estou totalmente perdido
mas minha primeira macro de interação com o access foi essa:

Sub Macro2()

    Dim cn As ADODB.Connection, rs As ADODB.Recordset
    Set cn = New ADODB.Connection
    Set rs = New ADODB.Recordset
Dim coluno()
    Application.EnableEvents = False
    Application.ScreenUpdating = False

    cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" _
            & "Data Source=D:TABELAStabelaA.accdb;"

    tabela = "teste2"

    rs.Open tabela, cn

    For c = 0 To rs.Fields.Count - 1
        Cells(1, c + 1).Value = rs.Fields(c).Name
    Next

coluno = rs.GetRows

Call FSD(coluno)

    Range(Cells(2, 1), Cells(UBound(coluno, 1) + 1, UBound(coluno, 2))).Value2 = coluno
    rs.Close
    Set rs = Nothing
    cn.Close
    Set cn = Nothing
End Sub

essa macro fiz pq ao que parece o access passa os dados de forma transposta para a array

Sub FSD(ByRef Nome_Array)
    Dim ColunD()
    l1 = UBound(Nome_Array, 1)
    c1 = UBound(Nome_Array, 2)
    ReDim ColunD(1 To c1, 1 To l1)
    C2 = 1
    l2 = 1
    For l = 1 To l1
        For c = 1 To c1
            ColunD(l2, C2) = Nome_Array(l, c)
            l2 = l2 + 1
        Next
        l2 = 1: C2 = C2 + 1
    Next
    Nome_Array = ColunD
End Sub

o certo seria ver a macro para saber o pq está demorando
com certeza vc sabe mais do que eu, e espero que possa me dar umas dicas tbm

Somente é impossíveis até que alguém faça
A logica está presa na irracionalidade humana, e morta nos que se consideram donos da verdade.

"ALGUM MODERADOR ME EXPULSE DO FÓRUM POR FAVOR"

 
Postado : 30/06/2015 12:55 am