DAOを使用してテキストファイルをデータベースのように扱う事が出来ます。読込や検索、レコードの追加は問題なく可能なのですが、修正、削除はできません…
サンプルで使用するテキストファイルには下図のようにデータが格納されています。
一行目(行見出し)がフィールド名として扱われます。
※サンプル中で使用されているMakeFileNameとStripFileNameに関しては
パス名からファイル名取得
パス名からファイル名を除く
を参照して下さい。
Private Sub Form_Load()
Dim db As Database
Dim rs As Recordset
Dim strPath As String
If Right(App.Path, 1) = "\" Then
strPath = App.Path
Else
strPath = App.Path & "\"
End If
strPath = strPath & "work.txt"
'レコードの読込(MoveFirst,MoveLast,MoveNext,MovePreviousが使用可能です。)
Set db = OpenDatabase(StripFileName(strPath), False, False, "TEXT;")
Set rs = db.OpenRecordset(MakeFilename(strPath), dbOpenDynaset)
Do Until rs.EOF
Debug.Print "<MoveNext>---------------------"
Debug.Print "得意先cd = " & rs("得意先cd")
Debug.Print "前回請求残 = " & rs("前回請求残")
Debug.Print "前月売掛残 = " & rs("前月売掛残")
Debug.Print "当月売上額 = " & rs("当月売上額")
rs.MoveNext
Loop
'レコードの検索(FindFirst,FindLast,FindNext,FindPreviousが使用可能です。)
rs.FindFirst "得意先cd = 'tok003'"
If rs.NoMatch Then
Else
Debug.Print "<FindFirst>--------------------"
Debug.Print "得意先cd = " & rs("得意先cd")
Debug.Print "前回請求残 = " & rs("前回請求残")
Debug.Print "前月売掛残 = " & rs("前月売掛残")
Debug.Print "当月売上額 = " & rs("当月売上額")
End If
'レコードの追加(Edit=修正,Delete=削除は出来ない様です。)
rs.AddNew
rs("得意先cd") = "tok006"
rs("前回請求残") = 60000001
rs("前月売掛残") = 60000002
rs("当月売上額") = 60000003
rs.Update
rs.Close
db.Close
End Sub
DownLoad vbtips108.lzh 2KB (VB6.0)