Excelden veri alma

1 2 3 4 5
13/10/2016, 12:06

atoz112

sayın ates2014,

EK'te yer alan örnek uygulamayı deneyiniz.

bilginize...iyi çalışmalar,saygılar.
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;

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.
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.

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,

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ı.
1 2 3 4 5