• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Bir Dosyadan Diğer Dosyaya Verileri Al

Ekli dosyalar

Alternatif.:cool:
Dosyanız ektedir.:cool:

DOSYAYI INDIR

Kod:
Sub aktar_59()
Dim conn As Object, rs As Object, sat As Long
Set conn = CreateObject("adodb.connection")
Set rs = CreateObject("adodb.recordset")
conn.Open = "provider=microsoft.ace.oledb.12.0;data source=" & ThisWorkbook.Path & "\Close_Data.xlsx;extended properties=""excel 12.0;hdr=yes"""
rs.Open "select * from [Sheet1$]", conn, 1, 1
sat = Cells(Rows.Count, "A").End(xlUp).Row + 1
Range("A" & sat).CopyFromRecordset rs
rs.Close: conn.Close
Set rs = Nothing: Set conn = Nothing
MsgBox "veriler aktarıldı."
End Sub
 

Ekli dosyalar

ADO ile "Insert Into" metodu kullanarak hazırlanan alternatif ektedir...

Evren Beyin "CopyFromRecordset" metoduna göre daha hızlıdır...


.
 

Ekli dosyalar

ADO ile "Insert Into" metodu kullanarak hazırlanan alternatif ektedir...

Evren Beyin "CopyFromRecordset" metoduna göre daha hızlıdır...


.
Bunu bilmiyordum hocam.
Bunuda öğrenmiş olduk.
Teşekkür ederim.İyi çalışmalar dilerim.
 
Hocam bu koda sadece 1. sayfaları yani çalışma kitaplarının ilk sayfalarını birleştir diyebilir miyiz? .xlsx için
 
Hocam emeğinize sağlık süper olmuş Allah ne muradın varsa versin.
 
ADO ile "Insert Into" metodu kullanarak hazırlanan alternatif ektedir...

Evren Beyin "CopyFromRecordset" metoduna göre daha hızlıdır...


.
Haluk hocamın aşağıdaki kodunda, Kaynak ve hedef dosya excel yerine Access olursa;

SourceFile= ThisWorkbook.Path & Application.PathSeparator & "TempDB.accdb"

strSQL =..................................

satırını nasıl düzenlemek gerekir? Access dosyasında "Table1" tablosundan "Table2" tablosuna aktaracağız.

teşekkürler,
iyi akşamlar.


Kod:
Sub Test()
'   Haluk 08/09/2019
'   E-POsta: sa4truss@gmail.com

    Dim adoCN   As Object, myFile As String, strSQL As String
    
    Set adoCN = CreateObject("ADODB.Connection")
    
    SourceFile = ThisWorkbook.Path & Application.PathSeparator & "Close_Data.xlsx"
    TargetFile = ThisWorkbook.FullName
    
    adoCN.Provider = "Microsoft.ACE.OLEDB.12.0"
    adoCN.Properties("Data Source") = TargetFile
    adoCN.Properties("Extended Properties") = "Excel 12.0; HDR=Yes"
    adoCN.Open
    
    strSQL = "Insert Into [Sheet1$] ([Name1], [Name2], [Name3], [Name4], [Name5]) " & _
             "Select * From [Sheet1$] " & _
             "In '' [Excel 12.0;Database=" & SourceFile & "] "
    
    adoCN.Execute strSQL
    adoCN.Close
    Set adoCN = Nothing
End Sub
 
Haluk hocamın aşağıdaki kodunda, Kaynak ve hedef dosya excel yerine Access olursa;

SourceFile= ThisWorkbook.Path & Application.PathSeparator & "TempDB.accdb"

strSQL =..................................

satırını nasıl düzenlemek gerekir? Access dosyasında "Table1" tablosundan "Table2" tablosuna aktaracağız.

teşekkürler,
iyi akşamlar.


Kod:
Sub Test()
'   Haluk 08/09/2019
'   E-POsta: sa4truss@gmail.com

    Dim adoCN   As Object, myFile As String, strSQL As String
   
    Set adoCN = CreateObject("ADODB.Connection")
   
    SourceFile = ThisWorkbook.Path & Application.PathSeparator & "Close_Data.xlsx"
    TargetFile = ThisWorkbook.FullName
   
    adoCN.Provider = "Microsoft.ACE.OLEDB.12.0"
    adoCN.Properties("Data Source") = TargetFile
    adoCN.Properties("Extended Properties") = "Excel 12.0; HDR=Yes"
    adoCN.Open
   
    strSQL = "Insert Into [Sheet1$] ([Name1], [Name2], [Name3], [Name4], [Name5]) " & _
             "Select * From [Sheet1$] " & _
             "In '' [Excel 12.0;Database=" & SourceFile & "] "
   
    adoCN.Execute strSQL
    adoCN.Close
    Set adoCN = Nothing
End Sub

Haluk Hocamın kodlarını uyarlayarak aşağıdaki şekilde çözdüm,

her şey için teşekkürler

Kod:
Sub Test()

Dim adoCN As Object, strConnection As String
Dim TempDB As String, strSQL As String, strSQL2 As String

Const adExecuteNoRecords = 128
Const adUseClient = 3
Const adOpenForwardOnly = 0
Const adLockReadOnly = 1

TempDB = ThisWorkbook.Path & Application.PathSeparator & "TempDB.accdb"

Set adoCN = CreateObject("ADODB.Connection")

strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & TempDB

adoCN.Open strConnection

strSQL2 = "Delete * From [Report]"

adoCN.Execute strSQL2

strSQL = "Insert Into [Report]([ID],[Test]) Select [ID2], [Test2] " _
& "From [Table1]"

adoCN.Execute strSQL

adoCN.Close

Set adoCN = Nothing
End Sub
 
Geri
Üst