アプリ版:「スタンプのみでお礼する」機能のリリースについて

フォルダーの中にCSVが複数入っている状態で
そのCSVの中も可延長ファイルで複数レコードが入っているファイルを読み込む方法を教えてください。
例1)
D:\フォルダー
-----------
AAA.CSV
BBB.CSV
CCC.CSV
-----------

例2)
AAA.CSVの中
-----------
11111,aaaa,ああああああああああ,22222,222
2222222,bb,いい,33333333333333,33333
33333,ccccc,ううううううう,4444,555555
-----------
BBB.CSVの中
-----------
44,dddd,ああああああああああ,22222,222
55555,eeeee,いい,33333333333333,33333
66666,fffffff,ううううううう,4444,555555
77777,GGGGG,ううううううう,4444,555555
-----------
CCC.CSVの中
-----------
8888,hhhh,ああああああああああ,22222,222
999,iiiiii,いい,33333333333333,33333
-----------
※各項目は256バイド以上あるため、VBAコードを使用したいと考えています。

よろしくお願いします

A 回答 (1件)

CSVを一度テーブルに突っ込めばよくないですか?


テーブルに突っ込んだあと、必要ならばSQLで取得したりすればよいのでは。

https://www.feedsoft.net/access/tips/tips93.html

Public Sub Test()
DoCmd.TransferText acImportDelim, , "AAA_CSV", "D:\hoge\AAA.csv"
DoCmd.TransferText acImportDelim, , "BBB_CSV", "D:\hoge\BBB.csv"
DoCmd.TransferText acImportDelim, , "CCC_CSV", "D:\hoge\CCC.csv"
End Sub


もう1つの方法として、schema.iniを用意してその情報を元にインポートする方法があります。
https://docs.microsoft.com/ja-jp/sql/odbc/micros …
https://blog.esrij.com/2010/06/18/schemaini-301f/

ファイルと同じところにshcema.iniというファイルを置いて、中身を以下のように記述。
[AAA.csv]
ColNameHeader=False
Format=CSVDelimited
Col1="列1" Long
Col2="列2" Text
Col3="列3" Text
Col4="列4" Double
Col5="列5" Long

VBAを実行

Public Sub Test2()
DoCmd.SetWarnings False

Dim sql As String

sql = "SELECT * INTO [AAA_CSV] FROM ['TEXT;DATABASE=D:\hoge'].[AAA.CSV]"
DoCmd.RunSQL sql

DoCmd.SetWarnings False
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます!

お礼日時:2018/01/29 22:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!