AccessTr.neT

Tam Versiyon: Txt dosyasından accsess tablosuna veri alma vb kodu
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Herkese Merhaba


C: \ GELEN.txt dosyasından ki sıralı veri olan bir dosya

Örnek olarak txt dosyası şöyle olsun

1111111122222222333
6666666677777777888 “
sıra 8 8 3 gibi

Bu txt deki bilgileri
C:\ deneme.mbd içindeki ANA_TABLO adlı tablonun alanlara

ALAN_1 e Txt de dosyasındaki ilk 8 karakteri
ALAN_2 ye Txt de dosyasındaki 9 ile 17 arasındaki karakteri
ALAN_3 e Txt de dosyasındaki ilk 18- 20 arasındaki karakteri

Aktarabilmek için nasıl bir kod yazmalıyım Accsess de yardımlarınız ile yaptım. VB de çok yeniyim bu ilk çalışmam olacak
Tabii başlangıçta ANA_TABLO tablosundaki eski verileri silmek gerekiyor

Yardımlarınız için teşekkür ederim.

Selamlar
Sizin isteğinizi bir nebze karşılayacak birşeyler ayarladım

Öncelikle İndirdiğiniz dosyası C dizinine atınız oradan çalıştırınız.
Geliştirmek size kalmış Kolay gelsin

Sub TxtToAccess()
Dim i As Integer, dosya As Variant, txtdizin As String, kayit1 As String
txtdizin = "C:\TXTToAccess" 'Text Dosyalarının Olduğu Konum
Dim conn As Object
Dim RsTxt As Object
Set conn = CreateObject("ADODB.Connection")
With conn
.Provider = "Microsoft.JET.OLEDB.4.0"
.Open txtdizin & "\TxtToAccess.mdb" ' Veri Tabanı Olduğu Dizn
End With

Set RsTxt = CreateObject("ADODB.RECORDSET")
RsTxt.Open "SELECT * FROM TxtToAccess", conn, 1, 3

ChDir (txtdizin) ' Text Dosyalarının Olduğu Konum
dosya = Dir("*.txt")
While dosya <> ""
Open txtdizin & "\" & dosya For Input As 1
Do While Not EOF(1)
Line Input #1, kayit1
If kayit1 <> Empty Then
bolstr = ""
bolstr = Split(kayit1, ";")
x = 0
RsTxt.AddNew
For x = 0 To UBound(bolstr)
RsTxt.Fields(x + 1) = bolstr(x)
Next x
RsTxt.Update
End If
Loop
Close #1

dosya = Dir
Wend
RsTxt.Close
Set RsTxt = Nothing
conn.Close
Set conn = Nothing
End Sub

Alıntıdır
Sayın Puletin

Yol gösterdiğniz için teşekkür ederim.
Elinize sağlık

Sorunuz çözüme ulaştımı ?