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