txt den sıralı veri almak...
Tarih
05/12/2008 01:16
Konu Sahibi
karaayhan
Yorumlar
9
Okunma
3707
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy



karaayhan
Aktif Üye
Kullanici Avatari
Aktif Üye
424
02/11/2008
12
Muğla
Ofis 2003
19/11/2016,13:46
Çözüldü 
değerli forum üyesi arkadaşlar,
elimde bir txt veri dosyası var ama ekte de göreceğiniz gibi bir kişiye ait veriler
beş(5)satır da yazılı ve bunu yazı boyutunu küçültsemde tek satır yapmak için çok veri bulunduğundan kolay olmuyor ve pratik de değil bunu Access veritabanına çektiğimde(metin dosyasından veri al) örnek mdb de göreceğiniz gibi bir tabloya aynı kişiye ait olsa bile bir kişinin verilerini 5 satırda gösteriyor ve araya boş bir satır ekliyor benim yapmak istediğim
bir kişiye ait olan o 5 satırlık veriyi tek satır halinde elde etmek

bunu yapabilirmiyiz teşekkürler kolay gelsin..


Ek Dosyalar
.rar   txt den düzenli veri almak.rar (Dosya Boyutu: 13 KB / İndirme Sayısı: 48)
Cevapla


mehmetdemiral
.
Kullanici Avatari
Uzman
M.... D....
4.734
30/10/2008
Samsun
Ofis 2013 Tr. 32 Bit
05/12/2016,11:17
Çözüldü 
Bence verileri veri alma sihirbazı ile elle değil, bir modülle almalısınız. O zaman değerleri değişkenlere atayıp "not" şeklinde belirlenmiş alanlarda & veya + işaretleriyle birleştirirsiniz. Bunu yapmak için basit bir Sql sorgusu yeterli.. Birleştirme yapacaksınız sonuçta.

Verileri vb ile alma konusunda karar verirseniz satır satır okutmanız lazım. Aralardaki boş satırları seperator olarak kullanacaksanız sorun olmaz. Seperatorlere gelene kadar okuma eylemi sürer. Ben size bununla ilgili benim kullandığım bir modülün kodlarını buraya aktarayım. (Not: Modül bana ait değildir, ama kendi isteğime göre düzenledim. Şu andaki halini göndereyim size. Bu şekilde 8 adet farklı dosyadan veri alabiliyorum. Dosyaların yerlerini de elle gösterme şeklinde düzenledim.


Kod:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Sub OpenTextFileTest1()
    Const ForReading = 1, ForWriting = 2, ForAppending = 8
    Dim fs, f
    Dim name, name1, text, path As String
    Dim txtLen, adetYıldız, adetTarih As Long
    Dim cnn As New ADODB.Connection
    Dim rst As New Recordset
    Dim fileName As String
    Dim result As Integer
    Dim i As Integer
    Dim dosya, Klasor
    Dim strKlasöradı As String
    On Error GoTo Err
    strKlasöradı = BrowseFolder("Seçmek istediğiniz klasör?")
    Klasor = strKlasöradı

'******işletme***************
    ChDir (Klasor)
       dosya = Dir("*İsletmeBilgileri.txt")
    DoCmd.SetWarnings True
   
            name = dosya
            Set fs = CreateObject("Scripting.FileSystemObject")
            Set f = fs.OpenTextFile(name, 1, -2)
            text = f.ReadAll
        
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.OpenTextFile(name, 1, -2)
    Set cnn = CurrentProject.Connection
    rst.Open "işletme", cnn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
    s = 0
    Do While f.AtEndofStream <> True
    text = f.readLine
    s = s + 1
    If s = 1 Then madi = Trim(text)
    If s <> 1 Then
        STRarray = Split(text, "$")
        rst.AddNew
        rst("işletmekodu") = STRarray(0)
        rst("işletmeadi") = STRarray(1)
        rst("ilbölgekodu") = STRarray(3)
        rst("ilçekodu") = STRarray(4)
        rst("kasabakodu") = STRarray(5)
        rst("köykodu") = STRarray(6)
        rst("anaişletmekodu") = STRarray(7)
        rst.Update
    End If
    Loop
    f.Close
    Set f = Nothing
    Set fs = Nothing
    Set rst = Nothing
    Set cnn = Nothing
Err:
If Err.Number = 62 Then
MsgBox "Belirttiğiniz dosya boş", vbOKOnly, "UYARI"
Else
End If

'***************işletme sonu**************


Burdan sonra başka dosyaya geçiliyor ama sizin örnekte tek txt dosyası olduğu için gerekli değil. Kodları iyi inceleyin, kendinize uyarlayın. Bu arada projenizin referans penceresinde önce ado2.1 sonra da dao 3.6 şeklinde sıralansın. Aksi taktirde gözat eylemi çalışmaz.

Kolay gelsin.

İnadına, ille de Accesstr.net...
Cevapla


karaayhan
Aktif Üye
Kullanici Avatari
Aktif Üye
424
02/11/2008
12
Muğla
Ofis 2003
19/11/2016,13:46
Çözüldü 
sayın mehmet bey,
ado2.1 referansını bulamadım
size zahmet uygulama içerisinde gösterebilirmisiniz..

teşekkürler..
Cevapla


alpeki99
Yeniden başlayabilmek...
Kullanici Avatari
Uzman
O....
5.994
29/10/2008
Ordu
Ofis 2013 32 Bit
Dün,23:53
Çözüldü 
ADO = Microsoft ActiveX Data Control 2.x oluyor. Tahminim XP kullanıyorsunuz o halde 2.8 vardır sizde. Yoksa bile en yüksek hangi versiyon varsa onu işaretleyin.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla


mehmetdemiral
.
Kullanici Avatari
Uzman
M.... D....
4.734
30/10/2008
Samsun
Ofis 2013 Tr. 32 Bit
05/12/2016,11:17
Çözüldü 
Sevgili karaayhan
Ben bende çalışan haliyle mevcut projedeki referansları yazdım. Ama sevgili alpeki'nin dediği gibi, daha yeni versiyonlarda da sorun çıkmayacaktır. Ama sıralama önemli. Önce ado sonra dao olmazsa, komutlar hata veriyor. Bu arada ado için

c:\program files\common files\system\ado\msado21.tlb
(eğer daha yenisi varsa aynı yerde msado27 veya 28 olarak bulunacak)

dao için

c:\program files\common files\microsoft shared\dao\dao360.dll

dosyalarını kullanabilirsiniz.
İnadına, ille de Accesstr.net...
Cevapla


karaayhan
Aktif Üye
Kullanici Avatari
Aktif Üye
424
02/11/2008
12
Muğla
Ofis 2003
19/11/2016,13:46
Çözüldü 
sayın demiral isterseniz konuya buradan devam edelim zira otomatik olarak yükleme yapıyor bu kodlar.

ancak, istediğim kritere henüz ulaşamadım şöyleki;
txt de veriler bazen 5-6-7-8 satır olabiliyor ancak benim buradaki ayraç olarak kullanabileceğim olsa olsa aradaki boşluklar olabilir( 5-6-7-8 satırlık veri kümeleri arasındaki boşluklar) bunların arasındaki veriler bir kişiye ait o yüzden de bir satırda olmaları lazım ki bu kodlar o işi yapıyor ..

ilk satıların başındaki 11 karakterlik rakamlar tc kimlik numaralarını içeriyor.
bunlar başlangıç ikinci tc kimlik no'suna kadar bu kişiye ait oluyor bilgiler sonra ikinci kişiye geçiyor ...
teşekkürler.


Ek Dosyalar
.rar   txt karmaşık dizinden veri almak.rar (Dosya Boyutu: 111,66 KB / İndirme Sayısı: 63)
Cevapla







Konuyu Okuyanlar: 1 Ziyaretçi


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Tarih Son Yorum
  webden veri alma, veri tabanına ekleme.... mbo69221088 15 232 Dün, 00:08 mbo69221088
  Rapor Alt toplamları almak m_demir 2 73 17/10/2016, 13:52 m_demir
  Rapor Alt Toplamı Almak m_demir 2 75 15/10/2016, 17:08 m_demir
  raporlamada günleri yanyana almak dayko 6 295 02/09/2016, 23:41 dayko
  Haber ekranını almak ates2014 28 818 01/09/2016, 17:50 ates2014


Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2016 MyBB Group.
DMCA.com Protection Status
© Desing by XSTYLED| Develops by ozanakkaya