HOME > 即効テクニック > AccessVBA > データベース・データ保護 > テキストファイルをデータベースとして扱う(DAO)

即効テクニック

データベース・データ保護

テキストファイルをデータベースとして扱う(DAO)

(Access 97)
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」をチェックします。