13/10/2016, 12:06
Excelden veri alma
13/10/2016, 12:21
atoz112
Sayın ates2014,
Hazırlamaya çalıştığınız örnek uygulama içeriğine dair bir hususu belirtmekte fayda var kanısındayım.
Her ne şekilde Excel dosyasını seçip bağlantıyı sağlasanız bile,verileri TblUrunler adlı tabloya aktarmadan öncesinde bu tablodaki mevcut kayıtları önce komple silip boş duruma getirmelisiniz ki hemen akabinde exceldeki kayıtları aktarabilesiniz.
Çünkü;bu hali ile işlem yapılırsa,mevcut kayıtların üzerine dahil etmek isteyebilir veya hata verebilir.bu nedenle,
DoCmd.TransferSpreadsheet...
Komut satırı öncesinde;
Komut satırı ile tablodaki mevcut kayıtları temizlemelisiniz.
NOT
7.mesajdaki örnek uygulama,bu açıklamalarda bahsi yapıldığı hali ile eklenmiştir.
Bilginize…iyi çalışmalar,saygılar.
Hazırlamaya çalıştığınız örnek uygulama içeriğine dair bir hususu belirtmekte fayda var kanısındayım.
Her ne şekilde Excel dosyasını seçip bağlantıyı sağlasanız bile,verileri TblUrunler adlı tabloya aktarmadan öncesinde bu tablodaki mevcut kayıtları önce komple silip boş duruma getirmelisiniz ki hemen akabinde exceldeki kayıtları aktarabilesiniz.
Çünkü;bu hali ile işlem yapılırsa,mevcut kayıtların üzerine dahil etmek isteyebilir veya hata verebilir.bu nedenle,
DoCmd.TransferSpreadsheet...
Komut satırı öncesinde;
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE * FROM TblUrunler"
DoCmd.SetWarnings True
Komut satırı ile tablodaki mevcut kayıtları temizlemelisiniz.
NOT
7.mesajdaki örnek uygulama,bu açıklamalarda bahsi yapıldığı hali ile eklenmiştir.
Bilginize…iyi çalışmalar,saygılar.
13/10/2016, 13:50
ates2014
Çok teşekkür ederim ozan hocam, referansı ekleyince sorun gitti,
Sizede ilginiz için çok teşekkür ederim Atoz112 hocam...
tabloyu boşaltma kodum vardı zaten, bu kodların üzerinde.
Sizede ilginiz için çok teşekkür ederim Atoz112 hocam...
tabloyu boşaltma kodum vardı zaten, bu kodların üzerinde.
13/10/2016, 14:02
ates2014
Sy.atoz112 çok hızlısınız,
tam buna bağlı olarak bir sorumun daha çıktı,
open diyalokla belge adını alıyorum aşağıdaki kodla, bu kodumda çalışmıyor.
Buradaki GetOpenFile_CLT yerine ne yazmam gerek ?
tam buna bağlı olarak bir sorumun daha çıktı,
open diyalokla belge adını alıyorum aşağıdaki kodla, bu kodumda çalışmıyor.
Me![txtEklenti] = GetOpenFile_CLT("DEPO\MAASLAR\2013-MAAS\BANKA LİSTESİ", "Gönderilecek Dosya Seçin.")
Buradaki GetOpenFile_CLT yerine ne yazmam gerek ?
13/10/2016, 14:13
atoz112
Sayın ates2014,
Konunuzun,Cevaplanmış Sorular Kategorisi’ne taşınmasına atıfta bulunarak yazdığınız ifadenize yönelik olarak,bir hatırlatma olması adına;
gibi ya da benzeri ifadeler ile sorununuzun çözüme ulaştığını beyan etmeden öncesinde,paylaşılan çözümleri veya örnekleri birkaç kez denemeniz ve sonrasında kesin olumluluk edinildiğinde bu ifadeleri yazmanız daha yerinde olacaktır.
Böylece,konularınız;bu ifadeler akabinde,Cevaplanmış Sorular Kategorisi’ne taşınmamış olur ve açıkça beklemeye devam eder.
Son olarak;
Sayın ozan bey tarafından konunuzun 4.mesajındaki kod değişikliklerini içeren işlemleri,kendi adıma denemedim.dolayısı ile de,sizin yazdığınız kodlar akabinde yazmak gerekirse,
Benzeri bir kod kullanımını deneyiniz.
Bilginize…iyi çalışmalar,saygılar.
Alıntı:Sy.atoz112 çok hızlısınız,
Konunuzun,Cevaplanmış Sorular Kategorisi’ne taşınmasına atıfta bulunarak yazdığınız ifadenize yönelik olarak,bir hatırlatma olması adına;
Alıntı:sorun gitti
gibi ya da benzeri ifadeler ile sorununuzun çözüme ulaştığını beyan etmeden öncesinde,paylaşılan çözümleri veya örnekleri birkaç kez denemeniz ve sonrasında kesin olumluluk edinildiğinde bu ifadeleri yazmanız daha yerinde olacaktır.
Böylece,konularınız;bu ifadeler akabinde,Cevaplanmış Sorular Kategorisi’ne taşınmamış olur ve açıkça beklemeye devam eder.
Son olarak;
Sayın ozan bey tarafından konunuzun 4.mesajındaki kod değişikliklerini içeren işlemleri,kendi adıma denemedim.dolayısı ile de,sizin yazdığınız kodlar akabinde yazmak gerekirse,
Dim dosyaadiyaz As String
dosyaadiyaz = GetOpenFile_CLT("DEPO\MAASLAR\2013-MAAS\BANKA LİSTESİ", "Gönderilecek Dosya Seçin.")
Me![txtEklenti] =dosyaadiyaz
Benzeri bir kod kullanımını deneyiniz.
Bilginize…iyi çalışmalar,saygılar.
13/10/2016, 14:21
ates2014
(13/10/2016, 11:12)ozanakkaya yazdı: Merhaba,
dialog modülündeki "GetOpenFile_CLT" fonksiyonunu 64 Bitte çalıştıramazsınız.
modülü tamamen silip butonun tıklandığında olayındaki kodu aşağıdaki ile değiştirerek deneyiniz.
Dim Klasor As String
Dim Sonuc As String
With DoCmd
.SetWarnings False
.RunSQL "delete from TblUrunler "
.SetWarnings True
End With
With Application.FileDialog(msoFileDialogOpen)
.Title = "Select a file"
.Filters.Clear
.Filters.Add "Excel files", "*.xlsx, *.xls"
.AllowMultiSelect = False
.Title = "Belge Seçiniz"
.InitialFileName = CurrentProject.Path
Sonuc = .Show
If (Sonuc <> 0) Then
Klasor = Trim(.SelectedItems.Item(1))
DoCmd.TransferSpreadsheet transfertype:=acImport, SpreadsheetType:=5, _
tablename:="TblUrunler", FileName:=Klasor, _
Hasfieldnames:=True
Me.SiraNo.SetFocus
Me.Requery
End If
End With
Ozan hocam daha önce böyle yazmıştı;
dialog modülündeki "GetOpenFile_CLT" fonksiyonunu 64 Bitte çalıştıramazsınız.
malesef çalışmadı.