即効テクニック |
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」をチェックします。