DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Sub InsertToMDB()
Dim cn As Object
Set cn = CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\TestFolder\MyDB.mdb"
cn.Execute _
"INSERT INTO MyTable (Firma, Borc, Tarih) " & _
"SELECT [Firma Adı], [Borcu], [Vade Tarihi] FROM [Sheet1$A1:C31] " & _
"IN '' [EXCEL 8.0;DATABASE=" & ThisWorkbook.FullName & "]"
cn.Close
Set cn = Nothing
End Sub
Sub CreateMDB()
Dim adoxCat As Object
Dim adoxTable As Object
Dim adoxColumn As Object
Dim strConnect As String
Dim strDBpath As String
strDBpath = "C:\TestFolder\MyDb.mdb"
If Dir(strDBpath) = Empty Then
Set adoxCat = CreateObject("ADOX.Catalog")
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & strDBpath
adoxCat.Create strConnect
Set adoxTable = CreateObject("ADOX.Table")
adoxTable.Name = "MyTable"
Set adoxColumn = CreateObject("ADOX.Column")
adoxColumn.Name = "Firma"
adoxColumn.Type = 202
adoxTable.Columns.Append adoxColumn
Set adoxColumn = CreateObject("ADOX.Column")
adoxColumn.Name = "Borc"
adoxColumn.Type = 6
adoxTable.Columns.Append adoxColumn
Set adoxColumn = CreateObject("ADOX.Column")
adoxColumn.Name = "Tarih"
adoxColumn.Type = 7
adoxTable.Columns.Append adoxColumn
adoxCat.Tables.Append adoxTable
MsgBox strDBpath & " basariyla olusturuldu ...", vbInformation, "ExcelToMDB"
Exit Sub
Set adoxColumn = Nothing
Set adoxTable = Nothing
Set adoxCat = Nothing
Else
MsgBox strDBpath & " dosyasi bulundu ...", vbInformation, "ExcelToMDB"
End If
End Sub
Aşağıdaki linki inceleyin, belki bir çözüm bulabilirsiniz ....Office 2016 64 bit kullanıyorum. Yaptığım araştırmalara göre "Microsoft.Jet.OLEDB.4.0" 64 bit desteklemiyormuş.
MS Jet 4.0 sağlayıcısı, yalnız 32 bit destekliyor. Office 2016 32/64 bit için connection string'i aşağıdaki ile değiştirin. DAC 'ı doğru yüklediyseniz sorun çıkmaması lazım. Ayrıca "accdb" biçimli dosya da oluşturabilirsiniz...Office 2016 64 bit kullanıyorum. Yaptığım araştırmalara göre "Microsoft.Jet.OLEDB.4.0" 64 bit desteklemiyormuş.
Microsoft Access Database Engine 2016 indirdim ama aynı hata devam ediyor
strConnect = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & strDBpath
Sayın Haluk,Sayın tugkan;
Tartışılan konuların birlikte yer aldığı bir dosya olması nedeniyle, ileride ihtiyaç duyabilecek üyeler açısından faydalı olacaktır.
Selamlar,
.
Sub aktar()
Dim oCatalog As Object
Set oCatalog = CreateObject("ADOX.Catalog")
oCatalog.Create "provider='Microsoft.ACE.OLEDB.12.0';" & "Data Source=D:\DB.accdb"
Set oCatalog = Nothing
Dim appAccess As Object
Set appAccess = CreateObject("Access.Application")
appAccess.OpenCurrentDatabase "D:\DB.accdb"
appAccess.DoCmd.TransferSpreadsheet acImport, 10, "Table", "D:\Excel.xlsm", True, "Sayfa!A1:C31"
appAccess.CloseCurrentDatabase
Set appAccess = Nothing
End Sub
Öncelikle örneğiniz çok işime yaradı elinize sağlıkSayın tugkan;
Allah sizden de razı olsun, teşekkürler.
Bu arada; benim (ADO-For Next) ve Zeki Beyin (SQL- Insert Into) önerdiği yöntemlerin her ikisinin de yer aldığı, hem 32 bit hem de 64 bit ortamda çalışabilecek şekilde Office 2010 ile hazırladığım dosya ektedir. Denemedim ama, yukarıdaki mesajlara göre Office 2016 gibi daha ileri versiyonda da çalışması beklenmektedir.
Tartışılan konuların birlikte yer aldığı bir dosya olması nedeniyle, ileride ihtiyaç duyabilecek üyeler açısından faydalı olacaktır.
Selamlar,
.
Evet accese kayıt edebilirmiyiz demek istemiştim.Attırabiliriz..... (yapabiliriz anlamına geliyor)
.