bilinmeyen veritabanından veri almak

Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
ekte gönderdiğim kaynak dosyasından access dosyama içindeki verileri çekmek ve bunların başlıklarıyla birlikte düzenli ve aradaki fazlalıklar ve boşluklar yok edilmiş olarak temiz bir tablo halinde kaydını yapmak istiyorum..
bu şekilde yüzlerce sayfa verim var....


kolay gelsin..
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın karaayhan,

Dosyaya ulaşabildim Access den. Ancak tabi yine boşuna uğraşmamak için bazı konuları sormam gerekiyor.

1. Kayıtları okumakta sanırım problem olmayacak. * ile başlayıp, sira(7), DoğumTarihi(4), Kütük(4), TC.KimlikNo(11), Durumu(50), Soyadı(124), Adı(50), DiğerAdı(50), BabaAdı(50), DiğerBabaAdı(50), AnaAdı(50), DiğerAnaAdı(50), KöyMah(50), Aşlesıra(7), Cilt(7), Sayfa(7), NüfusaKayıtlıİl(50) alanlarından oluşan kayıt kümeleri.

Ancak herzamanki gibi az verili örnek üstünde çalışmak zor. Birde sanırım kopya yapıştırla aynı verileri arka arkaya dört defa eklemişsiniz. Elimizde var 1 kayıt. Bunları fazlalaştırmak gerekir.

Bir de başlıık sorunu var. Başlıkta Tarih(10) alanı var orası tamam. Ama daha sonraki sayfaya iki karakterlik yer bırakılmış oda 99 sayfa eder. Konuya da iki karakterlik yer ayrılmış (bence burada hata var).

Bir de tam olarak yapı hakkında tam bir fikre sahip olamadım. Yani, Başlık + 2 kayıt mı yoksa bu yapı dah değişik mi?

İyi çalışmalar:)
 
Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
İlginize her zamanki gibi teşekkür ederim hocam,

1- Alan boyutları doğrudur bunu ben eklemeliyim siz tek tek bulmuşunuz özür olsun.

2- Az verili örnek koydum çünkü biliyorsunuz mevcut kayıtları değiştirmek ve farklı kayıtlar eklemek durumundayım (konumumdan dolayı biliyorsunuz) tabi farklı farklı eklenebilirdi ama önemli olan burda kayıt sayısı değil çünkü bu durumda binlerce kayıt var eklenecek otomatik olarak. Önemli olan bu kayıtları bir tabloda fazlalıkları atılmış olarak salt veri biçiminde elde etmek.

3- Başlık olayına gelince tarih, konu, sıra no falan bunlar olmayacak , başlangıçtaki * lar ve sıra noları da olmayacak belki yeni oluşacak tabloda otomatik sıra no olabilir tabi ayıklanmış veriler için birden başlayan...

4- Yani hocam, özet olarak; yeni bir tabloya sadece salt verileri alan özelliklerine göre almak istiyorum ayrıştırılmış ve fazlalıklar atılmış olarak...

Şimdiden teşekkür ederim.

Kolay gelsin..
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın karaayhan,

Sanırım oldu.

İyi çalışmalar:)
 
Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
sayın modalı,

teşekkür ederim çok da güzel olmuş yine döktürmüşünüz yani
ama tek bir sorun var o da en fazla 151 kayıt alıyor bir sınırlama mı var anlayamadım...

veriler dediğim gibi yüzlerce, binlerce olabiliyor bu şekilde, sınırlama yoksa niye böyle oluyor ?

kolay gelsin.
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Hayır herhangi bir sınırlama yok. Bütün işi kayıların en başında bulunan * yapıyor. * buldukça sonraki karakterleri boyutuna göre bir diziye kopyalıyor. Bu dizi de daha sonra tabloya kaydediliyor.

Şimdi hatırladım. Kodlarda read(100000) diye bir parça var. Parantez içindeki sayı okunacak olan karakter sayıını gösteriyor. Sanırım onun artırılması gerekiyor.

iyi çalışmalar:)
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın karaayhan o satırı şu şekilde değiştirin.

Kod:
text = f.ReadAll
 
Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
Fevkaladenin fevkindesin hocam,

Bu işin olacağını hiç düşünmemiş ve buraya sormaya da cesaret edememiştim işin aslı (tabi forumda [sizin gibi değerli arkadaşların olduğunu biliyorken]) şimdi çok mutlu oldum inanın....

Eğer ki çok olmuyorsam son birşey daha bu konuda (?)

Kodların olduğu sayfada hangi satır hangi işlemi yapıyor ve alan boyutlarının ayarlandığı satırlar tam tutmuyor mesela aile sıra ve cilt sıra gibi bunlar (7) karakter uzunluğunda olmasına karşın kodlarda (50) yazılmış tabi burada istediğim şunun için ki;

Bu sabit bir veri değil bazen bu kayıtlardan daha değişik verilere ihtiyaç duyulacak ya eklenecek ya çıkartılacak alanlar, mesela okuduğu okul, birlik adresi, rütbesi, tertibi vbg yani özetle hocam kodları satır satır açıklarsanız yada grup grup ne iş yaptıklarını ben geliştirilebilirim ihtiyaç oldukça. Üstte biriz değinmişiniz ama tam anlayamadım. Umarım isteğimi yeterince açıklamaşımdır.


Ellerin dert görmesin , kolay kolay kolay gelsin...
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın karaayhan,

Bugün aklıma geldi. Açılacak olan dosya bilgisayar hafızasını aşacak kadar büyük olursa bu noktada sıkıntı oluşacak. Bugün kaynağı satır satır okuyacak kodları denedim, normal açılıyor ve satır satır okuyor. O zaman hafızaya bilgi satır satır atılacağından işlem daha çabuk olacak. Ancak orada da çözmem gereken bir nokta var. Akşama evden düzeltip yanına da açıklamaları da ekleyerek yollarım uygulamayı.

iyi çalışmalar:)
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Yukarıda da dediğim gibi, çok büyük metin dosyalarından veri alırken, metin dosyasını satır satır okumak hem daha çabuk hem daha doğru olur düşüncesindeyim. Bu cevabımda eklediğim dosyada iki kod da var. Satır satır okumanın kodları Veri Ekle düğümesini klikleyince oluşuyor. Kod yazım penceresinde ayrıntılı açıklama ekledim. Umarım yardımcı olur.

İyi çalışmalar:)
 
Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
Çooook Teşekkür Ederim Modalı Hocam..

sayın modalı, ellerinize sağlık bu daha iyi olmuş bence satır satır okuma işi
ayrıntılı açıklama için teşekkür ederim. Alan boyutlarında sorun var ama ben ayarladım mükemmel çalıştı tekrar tekrar teşekkür ederim.


Yalnız hocam bu formattaki dosyalaraki veri aralığı üstten alta doğru yani iki sayfa arasındaki boşluklar aynıdır haberiniz olsun. Değişmez bunun bir zararı yada faydası olurmu ilerde benim için şöyle ki;



Tarih : 04/11/2006
Sayfa : 4
Konu :

Sira Doğu Kütük T.C. Kimlik
==== === ==== ==========
1 2001 123 15474858796
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın karaayhan,

Hiç önemli değil boşluklarda boş satır olarak geliyor. ilk karakter * olmadığı için bir sonraki satır okunuyor. Ta ki * başlayan bir satıra ulaşsın. O zaman veriyi mid fonksiyonuyla ayırıp tablonun karşılık gelen alanlarına kaydediyor.

İyi çalışmalar
 
Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
Sayın modalı, bu konuda benim için bir çığır açıldı desem yalan olmaz büyük verileri prg.larıma aktarabiliyorum ancak bunu kullanan diğer arkadaşlarda şöyle bir sorun çıktı ortaya prg'ın bulunduğu klasöre yada aynı yere yüklenecek dosya konulmadığında bocalıyorlar yani prg. D:\Prg\vt1.mdb 'de ise
yüklenecek veritabanını masa üstüne atıyorlar adını değiştiriyorlar ve D: de bulunan prg.açtıklarında veri yükle diyince olmuyor ve hiç bir iletiyle de karşılaşmıyorlar (Dosya ilgili klasörde yok vs.) bunu yüklerken gözat dialog penceresi açılsa veritabanı ilgili klasör yada konumda yoksa olmaz mı?
her zaman değil veriabanı istenilen konumda yoksa sadece dialog penceresi açılsın istiyorum....


teşekkürler şimdiden iyi çalışmalar:)
 
Son düzenleme:
Katılım
23 Kasım 2007
Mesajlar
245
Excel Vers. ve Dili
2003
metin dosyasından verialmak için güzelbir örnek

Soruyu soranada cevaplayan arkadaşımada teşekkür etmeyi bir borç bilirim
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın karaayhan,

Ekteki dosyayı bir inceleyin. sanırım oldu. Ama detaylı olarak inceleyemedi.

İki tane modül ekledim. Birisi kaynak.txt dosyasının olup olmadığını araştiriyor. Yoksa diyalog penceresini açıyor. Diğeri ise diyalog penceresini açıyor.

İyi çalışmalar
 
Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
Teşekkürler Hocam...

sayın modalı,
örnek çok hoş olmuş ellerinize sağlık ancak soru ve sorunlarım bitmedi şöyleki;

1- Kaynak dosyadan veri alırken bir kaydı eksik alıyor sanırım son kaydı almıyor?

2- Kendi örneğim üzerinde denedim olmadı! ben aşağıdaki örnekteki kodu kullanıyorum sadece bunun üzerine de ekledim kodunuzdaki kısmı oldu çalıştı ancak kendi örneğimde olmadı eksik nerde anlayamadım?(özelden attım size dosyayı)
********************************Kod burası sanırım eklenen Modül hariç tabi*******
strFilePath = fReturnFilePath("kaynak.txt", CurrentProject.path)
If strFilePath <> name Then
name = getFileName
End If
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.OpenTextFile(name, 1, -2)
*******************************Kod Bitti***********************************


3- Şöyle bir yol izlemeli dosya ilgili klasörde ise dosya bulundu veri yüklenecek uyarısı gelmeli, dosya yok ise dosya bulunamadı yerini siz belirlemek istermisiniz iletisinden sonra diyalog penceresini açmalı , bir de ilgili dosyayı bazen boş olarak alıp atıyorlar dosya içeriği boş ise bunuda uyarmalı dosya boyutuna bakabilir yada içeriğine o zaman yeni bir ileti gelmeli ekrana

4- veri yükle düğmesine basıldığında dosyanın bulunduğu yerde kaynak dosyası yoksa bile oraya kaynak adında bir dosya oluşturmakta bu durum 3.maddede bahsettiğim dosya varsa yada yoksa durumuna tezat oluşturabilir
en azından ikinci defa çalıştığında dosya olmasa bile birincisinde kendisi oluşturduğundan onu görüp ses çıkarmayabilir dosya varmış gibi :)


NOT= Prg. ve dosyayı ekliyorum dosya içeriside 10 adet hayali veri bulunmakta eksik veri yüklediğini görebilmemiz için ekledim 9 kayıt eklemekte...


teşekkürler iyi çalışmalar:)
 
Son düzenleme:
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın karaayhan,

Bir eksik veri almanızın nedeni en sona rst.Update i eklememiş olmanız.

Sanırım uyarılarda oldu.

İyi çalışmalar:)
 
Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
:):):):):)

sayın hocam yine fevkaladenin fevkinde bir iş yapmışınız.

teşekkür eder yardımlarınızın ve sabrınızın devamını dilerim.


iyi çalışmalar:)
 
Üst