AccessTr.neT

Tam Versiyon: Excelden Veri Alma Ve Kaydı Güncelleme
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Progressbar için ise ilgili kodu alttaki gibi değiştiriniz.

sSqlCount = "select count(*) from [Sayfa1$B2:N] where [KOD] Is Not Null " 'Exceldeki satir sayisi

Alttaki kodu eklemeden toplam olarak 96 buluyor oysa 73 olmalı.Dikkat etmemişim.Yada nasıl 96 çıkıyor oda ayrı mesele.Fakat Yukarıdaki gibi yaparsanız %100 oluyor progressbar 
where [KOD] Is Not Null
TransferSpreadsheet yöntemiyle ilgili genel bilgiler dilerim işinize yarar 
DoCmd.TransferSpreadsheet acLink, "Dosya türü excel/versiyonu", "hangi isimle bağlanacak", "tamAdresveAd", "Başlık var mı", "Hangi aralık"
DoCmd.TransferSpreadsheet _
                          TransferType:=acLink, _
                          TableName:="TmpTablo", _
                          SpreadsheetType:=10, _
                          FileName:=yahya, _
                          HasfieldNames:=True, _
                          Range:="B3:E" '"Hy bin 2!B3:E"

TransferType:= transfer türü
                           İsim   - Sayısal değer - Tanım 
                           acImport      0       Varsayılan değerdir, içeri aktatrır
                           acExport      1       Başka dosyaya gönderir
                           acLink        2       Başka dosyadaki veriye bağlantı sağlar

TableName:="Hangi İsimle bağlanacak-acLink İse/hangi tabloya aktarılacak"

SpreadsheetType:= tablo türü
                           İsim                         Sayısal Değer    Tanım
                           acSpreadsheetTypeExcel3   0  Microsoft Excel 3.0 format
                           acSpreadsheetTypeExcel4   6   Microsoft Excel 4.0 format
                           acSpreadsheetTypeExcel5   5  Microsoft Excel 5.0 format
                           acSpreadsheetTypeExcel7   5   Microsoft Excel 95 format
                           acSpreadsheetTypeExcel8   8  Microsoft Excel 97 format
                           acSpreadsheetTypeExcel9   8  Microsoft Excel 2000 format
                           acSpreadsheetTypeExcel12  9  Microsoft Excel 2010 format
                           acSpreadsheetTypeExcel12Xml 10  Microsoft Excel 2010/2013/2016 XML format (.xlsx, .xlsm, .xlsb)

FileName:=Dosya yaolu ve adı "d:\deneme\erzak.xlsm" gibi

HasfieldNames:=Satır başlığı var mı True(var)/False(yok)

Range:=veri alınacak bölge "Hy bin 2!B3:E" --> "Hy bin 2" sayfasındaki "B3" ve "E" stunları arasındaki verileri al
(06/02/2020, 14:04)berduş yazdı: [ -> ]acSpreadsheetTypeExcel12Xml 10  Microsoft Excel 2010/2013/2016 XML format (.xlsx, .xlsm, .xlsb)
Office 2019 yada office 365 için?
Fiyelim 10 yazdık fakat 2003 e bağlandık durmadan kodta değişiklikmi olacak yada if versiyon şuysa gibi şartmı eklenecek eklenmezse hatamı verir.
tahmine dayalı olarak söylüyorum: boş bırakmayı deneyin belki de Access kendisi kendi varsayılanın kullanır ve soru oluşmaz
ama Access 95 yada 2003'ün .xlsx okuyabileceğiniz sanmam sisteme ofis versiyonunu tanıyıp ona göre sayıyı değiştirecek bir kod ekleyebilirsiniz.
(06/02/2020, 14:42)berduş yazdı: [ -> ]tahmine dayalı olarak söylüyorum: boş bırakmayı deneyin belki de Access kendisi kendi varsayılanın kullanır ve soru oluşmaz
ama Access 95 yada 2003'ün .xlsx okuyabileceğiniz sanmam sisteme ofis versiyonunu tanıyıp ona göre sayıyı değiştirecek bir kod ekleyebilirsiniz.
Bende öyle düşünüyorum denerim sonra IIF application.versiyon şuysa şu diye

Açıklamalar içinde sağolunuz.
rica ederim
iyi çalışmalar
@feraz bey uyarınca fark ettim Excel dosyası boşsa hata veriyordu düzeltip tekrar yükledim
dilerim işinize yarar[attachment=31369]
Sayfalar: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19