人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Accessでの業務実施に関して質問です。
Windowsタスクマネージャーで定期的にAccessファイルを立ち上げて、
特定の場所にあるCSVファイルからテーブルにデータを取り込む処理を行いたいと思います。

CSVファイルは中国語のエンコードがされているため、合わせて指定をし、
ファイル名は「data_YYYY-MM-DD HHMM」として、HHまでを指定して取り込みます。

以下のURLを参考にしていますが。コードで教えていただければ。
http://accessclub.jp/bbs2/0047/beginter15165.html


●質問者: まさきん
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● cx20
●500ポイント

文字コードを指定して CSV ファイルをインポートするには、schema.ini (※) にて CharacterSet(文字コード)を定義することで可能です。
※ schema.ini は、テキストドライバが CSV ファイルを読み込む際に、データ構造を定義するファイルになります。

<サンプル用フォルダ構成>

C:\home\edu\access\csv
  test.mdb … インポート先 MDB
  test.csv … インポート元 CSV(UTF-8 形式)
  schema.ini … test.csv 用定義ファイル
  ImportToMdbFromCsv.vbs … インポート用 VBScript

<Access / tbl_test テーブル定義>

フィールド名データ型
主キーfield1数値型
field2短いテキスト
field3短いテキスト

<schema.ini>

[test.csv]
ColNameHeader=True
Format=CSVDelimited
CharacterSet=65001
Col1=field1 Integer
Col2=field2 Text Width 256
Col3=field3 Text Width 256

<test.csv>

"field1","field2","field3"
1,"こんにちは","日本語テスト"
2,"你好","中国語テスト"
3,"안녕하세요","韓国語テスト"

<ImportToMdbFromCsv.vbs>

' File Name : ImportToMdbFromCsv.vbs
' Usage : CScript ImportToMdbFromCsv.vbs
Option Explicit

' コードの簡略化の為、取り込み元ファイル名は「test.csv」としています。
' また、エラー処理(重複チェック等)は一切入っていない為、使用の際は適宜修正をお願いします。
Const strFilePath = "C:\home\edu\access\csv"
Const strMdbName = "test.mdb" ' インポート先MDB
Const strCsvName = "test.csv" ' インポート元CSV

Call Main()

Sub Main()
 Dim cn
 Set cn = CreateObject("ADODB.Connection")
 cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & strFilePath & "\" & strMdbName
 Dim strSQL
 strSQL = "INSERT INTO tbl_test " & _
 "SELECT * FROM " & "[Text;Database=" & strFilePath & "].[" & strCsvName & "]"
 cn.Execute strSQL
End Sub

<実行方法>

C:\C:\home\edu\access\csv> CScript ImportToMdbFromCsv.vbs

<実行結果>

field1field2field3
1こんにちは日本語テスト
2你好中国語テスト
3안녕하세요韓国語テスト

<参考>

■ 備忘録: ADODBでUTF-8のCSVを取り込む
http://my-business-adversaria.blogspot.jp/2012/08/adodbutf-8csv.html
■ テキスト ファイルのフィールドを定義する方法
http://blog.esrij.com/arcgisblog/2010/06/schemaini-301f.html

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ