Dosyaları Alt Alta Birleştirme

1 2 3 4 5 6 7 8 9
05/03/2020, 22:59

incsoft

(05/03/2020, 16:38)berduş yazdı: Bu da 2. bir yöntem --> referanslara Ado 2.8 eklenmiştir
'hy_Geçici_tablo_var_mı_varsa_sil_____
  If DCount("*", "MSysObjects", "Name='TmpTablo' and type in (1,4,6)") > 0 Then DoCmd.DeleteObject acTable, "TmpTablo"

DoCmd.TransferSpreadsheet TransferType:=acLink, _
                          TableName:="TmpTablo", _
                          SpreadsheetType:=10, _
                          FileName:=CurrentProject.Path & "\donemoncesi.XLSX", _
                          HasfieldNames:=True, _
                          Range:="Sheet1$"
'hy Tablo Boş Mu_____________
Dim SayRS As New ADODB.Recordset
Dim SaySql As String

SaySql = "select * from TmpTablo"

    SayRS.Open SaySql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    KytSay = SayRS(0)
    krt = " where [" & SayRS(0).Name & "] Is Not Null"
    SayRS.Close
    SayRS.Open SaySql & krt, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
   
    If SayRS.RecordCount = 0 Then
        DoCmd.DeleteObject acTable, "TmpTablo"
        MsgBox "Tabloda veri yok"
        Exit Sub
    End If
    SayRS.Close

'hy Excel Boş Mu_____________Bitti

    SaySql = "select * from Sheet1"
    SayRS.Open SaySql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic

SqlSheet1 = " INSERT INTO Sheet1 ( "
krt = ""
For x = 0 To SayRS.Fields.Count - 1
    krt = krt & " , [" & SayRS.Fields.Item(x).Name & "]"
Next x

SqlSheet1 = SqlSheet1 & Mid(krt, 3) & ")"
SayRS.Close
'hy_Sheet1_tbl______________________________||

    SaySql = "select * from TmpTablo"
    SayRS.Open SaySql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
SqlTmp = " select "
krt = ""
For x = 0 To SayRS.Fields.Count - 1
    krt = krt & " , TmpTablo.[" & SayRS.Fields.Item(x).Name & "]"
Next x

SqlTmp = SqlTmp & Mid(krt, 3)
SayRS.Close
'hy_TmpTablo_tbl______________________________||

SqlEkle = SqlSheet1 & vbCrLf & SqlTmp & vbCrLf & " FROM TmpTablo "

CurrentDb.Execute SqlEkle


    CurrentDb.TableDefs.Refresh
    DoCmd.DeleteObject acTable, "TmpTablo"
'Çok teşekkürler hocam bu yöntem oldu ama mdb dosyasına dönüştürünce buton gitti. İşyerimde lisanslı sürüm Access 2010 ve kullanmış olduğum raporlama yazılımı sadece mdb ile direk import etme yaptığından eğer sizin için sakıncası yoksa bu sistemi mdb dosyasına adapte edebilirmisiniz hocam? Kusura bakmayın. accdb formatında raporlama yapabilmem için ODBC bağlantısı kullanmam gerekmektedir buda ayrı bir zaman kaybı. Çok teşekkür ederim.
05/03/2020, 23:09

berduş

(05/03/2020, 22:59)incsoft yazdı: accdb formatında raporlama yapabilmem için ODBC bağlantısı kullanmam gerekmektedir
bu kısmı anlamadım.
ofis 2010 da accdb desteklemektedir dolayısıyla bir sorun çıkmadan raporlayabilmeniz gerekir.
Neden ODBC bağlantısı kullanmanız gerekmekte, sorunu biraz daha açıklayabilir misiniz?
Not: mdb halindeyken denediğimde "xlsx dosyasının üst sürüm olduğu ve bu nedenle eklenemeyeceği" uyarısı verdiğinden formatını değiştirdim.
05/03/2020, 23:19

incsoft

(05/03/2020, 23:09)berduş yazdı:
(05/03/2020, 22:59)incsoft yazdı: accdb formatında raporlama yapabilmem için ODBC bağlantısı kullanmam gerekmektedir
bu kısmı anlamadım.
ofis 2010 da accdb desteklemektedir dolayısıyla bir sorun çıkmadan raporlayabilmeniz gerekir.
Neden ODBC bağlantısı kullanmanız gerekmekte, sorunu biraz daha açıklayabilir misiniz?
Not: mdb halindeyken denediğimde "xlsx dosyasının üst sürüm olduğu ve bu nedenle eklenemeyeceği" uyarısı verdiğinden formatını değiştirdim.
Sorun Access 2010\'un yeni formatı desteklememesi değildir hocam. Kullanmış olduğum program olan sap crystal reports programı accdb dosyasından direkmen program üzerinden database seçimi yapılarak raporlama yapma özelliğine sahip değil ancak mdb üzerinden sorunsuz şekilde yapıyor. Sizin sisteminiz üzerinden birleştirip mdb olarak kaydettiğimde ise aktarma kodu ve buton gittiğinden bunu sorma gereği duydum.
05/03/2020, 23:24

berduş

biraz araştırma yapıp mdb ile yapıp yapamayacağına bakayım.
05/03/2020, 23:24

ozanakkaya

xlsx uzantısı yerine xls kullanılsa mdb desteklemez mi?
05/03/2020, 23:26

incsoft

(05/03/2020, 23:24)ozanakkaya yazdı: xlsx uzantısı yerine xls kullanılsa mdb desteklemez mi?
Kullandığım satır sayısı 1.000.000'a yakın olduğundan ister istemez xlsx kullanıyorum Ozan bey
1 2 3 4 5 6 7 8 9