DAO(Data Access Object:データ アクセス オブジェクト)を使うと、以下のようなテキストファイルを、データベースとして扱うことが出来ます。
●テキストファイルのサンプル●
"フィールド1","フィールド2","フィールド3","フィールド4","フィールド5"
"data1-1","data1-2","data1-3","data1-4","data2-5"
"data2-1","data2-2","data2-3","data2-4","data3-5"
"data3-1","data3-2","data3-3","data3-4","data4-5"
"data4-1","data4-2","data4-3","data4-4","data5-5"
"data5-1","data5-2","data5-3","data5-4","data6-5"
"data6-1","data6-2","data6-3","data6-4","data7-5"
※データベースとして取り扱う場合、各フィールドはカンマで区切り、
各データ(文字列)は、ダブルクォーテーションで囲みます。
(一般的なCSV形式のファイルとします)
●サンプル●
以下のサンプルコードは、上記のテキストファイルが「d:\test\sample.csv」に存在することを前提としています。
Sub ConnectTextDB()
Dim objDB As Database ' データベースオブジェクト
Dim objRecSet As Recordset ' レコードセットオブジェクト
' データベースに接続します
Set objDB = OpenDatabase(DEF_LOCALDBDIR, False, False, _
"Text;DATABASE=d:\test\")
' データベースから任意のレコードを抽出します(Dynasetでオープンする)
Set objRecSet = objDB.OpenRecordset("SELECT * From [sample.csv];", _
dbOpenDynaset)
' 抽出したレコードの件数を出力します
objRecSet.MoveLast
objRecSet.MoveFirst
Debug.Print objRecSet.RecordCount
End Sub
●補足説明●
DAOを使用するには、[ツール(T)]メニューの[参照設定(R)]をクリックすると表示される[参照設定]ダイアログボックスで、「Microsoft DAO 3.6 Object Library」をチェックします。