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:
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**************
Kolay gelsin.