RELACIONAMENTO DE ARQUIVOS EM XLSX
Pessoal
Preciso desenvolver um sistema de relacionamento entres dois arquivos xlsx com campos iguais
tipo campo telefone de 1.xlsx com campo telefone 2.xlsx
alguem sabe como faço essa conexao?
Grato
Preciso desenvolver um sistema de relacionamento entres dois arquivos xlsx com campos iguais
tipo campo telefone de 1.xlsx com campo telefone 2.xlsx
alguem sabe como faço essa conexao?
Grato
Não sei se isto é possivel em excel mas vou ver , segue um exemplo para juntar dados de uma mesma planilha.
Sub teste_func()
Dim cn As New Connection
Dim rs As New Recordset
Dim sql As String
Dim i
i = 2
cn = [Ô]Provider=Microsoft.ACE.OLEDB.12.0;[Ô] & _
[Ô]Data Source=D:\cadastro2010\cadastro2010.xlsm;Extended Properties=Excel 12.0; [Ô]
Sheets([Ô]plan3[Ô]).Select
sql = [Ô]select a.codigo, b.nome from [plan1$] a, [plan2$] b where b.codigo=a.codigo [Ô]
cn.Open
Set rs = cn.Execute(sql)
If Not rs.EOF Then
Do While Not rs.EOF
ActiveSheet.Range([Ô]A[Ô] & i).Value = rs(0)
ActiveSheet.Range([Ô]B[Ô] & i).Value = rs(1)
rs.MoveNext
i = i + 1
Loop
End If
cn.Close
End Sub
Sub teste_func()
Dim cn As New Connection
Dim rs As New Recordset
Dim sql As String
Dim i
i = 2
cn = [Ô]Provider=Microsoft.ACE.OLEDB.12.0;[Ô] & _
[Ô]Data Source=D:\cadastro2010\cadastro2010.xlsm;Extended Properties=Excel 12.0; [Ô]
Sheets([Ô]plan3[Ô]).Select
sql = [Ô]select a.codigo, b.nome from [plan1$] a, [plan2$] b where b.codigo=a.codigo [Ô]
cn.Open
Set rs = cn.Execute(sql)
If Not rs.EOF Then
Do While Not rs.EOF
ActiveSheet.Range([Ô]A[Ô] & i).Value = rs(0)
ActiveSheet.Range([Ô]B[Ô] & i).Value = rs(1)
rs.MoveNext
i = i + 1
Loop
End If
cn.Close
End Sub
Opa
fiz a conexao e me parece a deu certo
mas ta me dando erro na hora d criar
Sheets([Ô]plan3[Ô]).Select
este erro
Method [ô]Sheets[ô] of object [ô]_Global[ô] failed
mas ja foi d ótima ajuda
fiz a conexao e me parece a deu certo
mas ta me dando erro na hora d criar
Sheets([Ô]plan3[Ô]).Select
este erro
Method [ô]Sheets[ô] of object [ô]_Global[ô] failed
mas ja foi d ótima ajuda
Method [ô]Sheets[ô] of object [ô]_Global[ô] failed
este erro é que a planilha não esta ativa ou selecionada
este erro é que a planilha não esta ativa ou selecionada
Olha como tá
Dim cn As New Connection
Dim rs As New Recordset
Dim sql As String
Dim i
i = 2
cn = [Ô]Provider=Microsoft.ACE.OLEDB.12.0;[Ô] & _
[Ô]Data Source=C:\P\RELACIONAR XLS\cli.xlsx;Extended Properties=Excel 12.0; [Ô]
cn.Open
cn.Execute ([Ô]select * into [plan6] from [plan1$] , [plan3$] where [plan1$].[cpf]=[plan3$].[cpf] [Ô])
Set rs = cn.Execute(sql)
If Not rs.EOF Then
Do While Not rs.EOF
ActiveSheet.Range([Ô]A[Ô] & i).Value = rs(0)
ActiveSheet.Range([Ô]B[Ô] & i).Value = rs(1)
MsgBox rs(1)
rs.MoveNext
i = i + 1
Loop
End If
cn.Close
Exit Sub
Dim cn As New Connection
Dim rs As New Recordset
Dim sql As String
Dim i
i = 2
cn = [Ô]Provider=Microsoft.ACE.OLEDB.12.0;[Ô] & _
[Ô]Data Source=C:\P\RELACIONAR XLS\cli.xlsx;Extended Properties=Excel 12.0; [Ô]
cn.Open
cn.Execute ([Ô]select * into [plan6] from [plan1$] , [plan3$] where [plan1$].[cpf]=[plan3$].[cpf] [Ô])
Set rs = cn.Execute(sql)
If Not rs.EOF Then
Do While Not rs.EOF
ActiveSheet.Range([Ô]A[Ô] & i).Value = rs(0)
ActiveSheet.Range([Ô]B[Ô] & i).Value = rs(1)
MsgBox rs(1)
rs.MoveNext
i = i + 1
Loop
End If
cn.Close
Exit Sub
estou quase
ja consigo abrir 2 xlsx e mostrar as estrutura de ambos
agora nao consigo dar um insert no 3 xlsx
tipo aqui
cn.Execute ([Ô]select * into [plan6] from [plan1$] , [plan3$] where [plan1$].[cpf]=[plan3$].[cpf] [Ô])
preciso montar uma sql pra INTO em um 3 xlsx
e estou abrir assim
tanto no 1º quanto no 2º
Set oConn1 = New ADODB.Connection
oConn1.Open [Ô]Provider=Microsoft.ACE.OLEDB.12.0;[Ô] & _
[Ô]Data Source=[Ô] & arq1 & [Ô];Extended Properties=Excel 12.0; [Ô]
Set oCmd1 = New ADODB.Command
oCmd1.ActiveConnection = oConn1
oCmd1.CommandText = [Ô]SELECT TOP 1 * from [[Ô] & txtplan1 & [Ô]$][Ô]
Set oRS1 = New ADODB.Recordset
oRS1.Open oCmd1, , adOpenKeyset, adLockOptimistic
Dim Vetor() As Variant
Dim row As Long, col As Long
Dim fd As Field
oRS1.MoveLast
ReDim Vetor(oRS1.RecordCount + 1, oRS1.Fields.Count)
col = 0
For Each fd In oRS1.Fields
ltarq1.AddItem oRS1.Fields(col).Name
col = col + 1
Next
até ai beleza
agora no 3º abri assim
Set oConn3 = New ADODB.Connection
oConn3.Open [Ô]Provider=Microsoft.ACE.OLEDB.12.0;[Ô] & _
[Ô]Data Source=[Ô] & arq3 & [Ô];Extended Properties=Excel 12.0; [Ô]
Set oCmd3 = New ADODB.Command
oCmd3.ActiveConnection = oConn3
oCmd3.CommandText = [Ô]SELECT oRS1.[PLAN1$].*,oRS2.[PLAN2$].* INTO AAA from [[Ô] & txtplan3 & [Ô]$][Ô]
Set oRS3 = New ADODB.Recordset
oRS3.Open oCmd3, , adOpenKeyset, adLockOptimistic
ve c consegue me ajudar
nao estou sabendo fazer o select into usando as outras 2 xlsx
valeu
ja consigo abrir 2 xlsx e mostrar as estrutura de ambos
agora nao consigo dar um insert no 3 xlsx
tipo aqui
cn.Execute ([Ô]select * into [plan6] from [plan1$] , [plan3$] where [plan1$].[cpf]=[plan3$].[cpf] [Ô])
preciso montar uma sql pra INTO em um 3 xlsx
e estou abrir assim
tanto no 1º quanto no 2º
Set oConn1 = New ADODB.Connection
oConn1.Open [Ô]Provider=Microsoft.ACE.OLEDB.12.0;[Ô] & _
[Ô]Data Source=[Ô] & arq1 & [Ô];Extended Properties=Excel 12.0; [Ô]
Set oCmd1 = New ADODB.Command
oCmd1.ActiveConnection = oConn1
oCmd1.CommandText = [Ô]SELECT TOP 1 * from [[Ô] & txtplan1 & [Ô]$][Ô]
Set oRS1 = New ADODB.Recordset
oRS1.Open oCmd1, , adOpenKeyset, adLockOptimistic
Dim Vetor() As Variant
Dim row As Long, col As Long
Dim fd As Field
oRS1.MoveLast
ReDim Vetor(oRS1.RecordCount + 1, oRS1.Fields.Count)
col = 0
For Each fd In oRS1.Fields
ltarq1.AddItem oRS1.Fields(col).Name
col = col + 1
Next
até ai beleza
agora no 3º abri assim
Set oConn3 = New ADODB.Connection
oConn3.Open [Ô]Provider=Microsoft.ACE.OLEDB.12.0;[Ô] & _
[Ô]Data Source=[Ô] & arq3 & [Ô];Extended Properties=Excel 12.0; [Ô]
Set oCmd3 = New ADODB.Command
oCmd3.ActiveConnection = oConn3
oCmd3.CommandText = [Ô]SELECT oRS1.[PLAN1$].*,oRS2.[PLAN2$].* INTO AAA from [[Ô] & txtplan3 & [Ô]$][Ô]
Set oRS3 = New ADODB.Recordset
oRS3.Open oCmd3, , adOpenKeyset, adLockOptimistic
ve c consegue me ajudar
nao estou sabendo fazer o select into usando as outras 2 xlsx
valeu
UP
Tópico encerrado , respostas não são mais permitidas