Excel üzerinden txt dosyasından accesse veri aktarıp veri tabanı oluşturma?

Katılım
7 Ekim 2011
Mesajlar
63
Excel Vers. ve Dili
basit excell kullanıcısı
Herkese merhaba,
Ekcel üzerinde bir buton yardımıyla kapalı .txt dosyasından yine kapalı olan bir access dosyasına veri aktarımı yapılacak bir kod oluşturma şansımız var mıdır acaba.
 
Katılım
6 Şubat 2005
Mesajlar
1,467
Sn eftel
Bunu yapmanın bir sürü yolu var.
Örnek dosya ekler veya ne yapmak istediğinizi tam olarak açıklarsanız, daha çabuk sonuç alırsınız.
Mesela Niye Direkt Excel Dosyasını Accesse bağlamıyorsunuz ?
 
Katılım
7 Ekim 2011
Mesajlar
63
Excel Vers. ve Dili
basit excell kullanıcısı
Ömer Bey, merhaba. Soru sorup kaçmış gibi olmuşum. Afedersiniz yoğunluktan. Neden direk excele atmadığımı sormuşsunuz. Verileri aldığım bir intanet veri deposu var veriler oradan metin dosyası txt şeklinde geliyor mecburen txt almak zorunda kalıyorum ve veriler excele sığmayacak kadar fazla. Kullanıcının şunu yapması gerekiyor. Aynı dosya içinde verileri aldığı aaa.txt dosyası bbb.excel çalışma kitabı ve ccc. accdb access veri tabanı var. Bazen ve coğu zaman txt'den birden fazla dosya oluyor. Kullanıcı yalnızca exceli kullanarak txt den verileri (belli koşullar var mesela ayırma işareti "|" olması, sütün başıkları arasında "_" olması gibi) alıp accessde bir tablo oluşturacak. Oluşturulan access bizim veri tabanımız olacak bu noktadan sonra sadece excel üzerinden veri getirmeye kalıyor . veri getirme işlemini hallettim ancak txt den accese hiç accesi açmadan excel üzerinden nasıl yapılacağını açıkcası beceremedim. Dosyayı ekliyorum, vakit ayırabilirseniz sevinirim.Teşekkürler
 

Ekli dosyalar

Katılım
6 Şubat 2005
Mesajlar
1,467
Sn eftel
İlk önce "I" ve "_" ile düzeltilmemiş, orjinal haldeki bir txt dosya örneği eklerseniz.
Excelde yazılacak makro ile;
1- txt dosyaları 1 den fazla geldiğine göre ya bu dosyalar teker teker seçilip aktarılacak yada belirli bir klasöre konulacak döngü ile üzerlerinde işlem yapılacak. (tabi daha önceki işlenmiş dosyalar silinmiş olması gerekiyor)
2- txt dosyalarının sütun başlıkları değiştirilecek, sütunlar arasındaki belirteçler uygun hale getirilecek.
3- Sonra txt dosyalarındaki kayıtlar Accessteki tabloya eklenecek.
4- Daha sonra Excelde istendiğinde Accessten sorgulanacak.
Konuyu doğru anladımsa örneğinizi bekliyorum
 
Son düzenleme:
Katılım
7 Ekim 2011
Mesajlar
63
Excel Vers. ve Dili
basit excell kullanıcısı
Ömer Bey merhaba, söyledikleriniz doğru, ekteki txt düzenlenmemiş ham hali, txt verilerini ben örnek olsun diye verdim ama orjinal dosyalarda bu şekilde. Diğer konular aynen sizin dediğiniz gibi. Bu arada çok teşekkür ederim , eksik olmayın.
 
Katılım
6 Şubat 2005
Mesajlar
1,467
Sn eftel
1- "fisler.accdb" dosyasındaki tablonun sütun isimlerini değiştirdim.
2- Bir "txtler" Klosörü oluşturdum, aktarmak istediğin "txt" dosyalarını bu klasöre koyun. txt dosyaların adları önemli değil, bu klasöre uzantısı ".txt" olmayan dosya eklemeyin ve işlem sonunda ya başka klasöre taşıyın yada silin.
3- İşlem sonucunda txt dosyalarında "I" krakteri "," e dönüşüyor ve Sütun isimleri Access dosyasına uygun hale geliyor.
4- "muhasebe.xlsm" dosyasındaki kodlarda Accesteki yeni sütun adlarına uygun olması için "WHERE MuhasebeHesapNo LIKE" şeklinde değişiklik yaptım.
NOT: Kodlar Modül2 de
 

Ekli dosyalar

Katılım
6 Şubat 2005
Mesajlar
1,467
arsiv isimli bir klasör oluşturun, Modül2 kod sayfasında
Kod:
----------Buraya yapıştırın>
Next
yazan satırın hemen üstüne aşağıdaki satırı ekleseniz
Kod:
 a = fs.MoveFile(ThisWorkbook.Path & "\txtler\" & Dadi, ThisWorkbook.Path & "\arsiv\" & Dadi)
işlemi biten dosyalar arsiv klasörüne taşındığından, yanlışlıkla ikinci defa kayıt yapılmaz.
 
Katılım
7 Ekim 2011
Mesajlar
63
Excel Vers. ve Dili
basit excell kullanıcısı
Ömer Bey, çok çok teşekkür ederim. Mükemmel olmuş ellerinize sağlık elleriniz dert görmesin. Büyük bir karmaşadan ve iş yoğunluğundan kurtardınız beni, tekrar teşekkürler. Saygılar.
 
Üst