静粛に、只今統計勉強中

仕事でデータ分析をすることになったバリバリ文系アラフィフのおっさんが、独学で統計の勉強を始めました。

【備忘録】MS AccessのテーブルにUTF-8のCSVをインポートするときに生じる不具合コンボの切り抜け方1

AccessのテーブルにUTF-8CSVをインポートしようとしたら、謎の不具合が連続して現れたので、対処方法を備忘録的に書き留めておくことにしました。

 

まず、UTF-8CSVを用意します。今回は以下からダウンロードしてみました。

 

次に、空のデータベースファイルを用意します。

f:id:cyclo-commuter:20201114150728p:plain

 

[外部データ]→インポートのほうの[テキストファイル]をクリック。

f:id:cyclo-commuter:20201114152252p:plain

 

ダウンロードしたCSVを選択して、「~新しいテーブルに~」にチェックを入れ、【OK】をクリック。

f:id:cyclo-commuter:20201114152058p:plain

 

Shift-JIS形式じゃないと、こんな風に文字化けしますね。【設定】をクリック。

f:id:cyclo-commuter:20201114152411p:plain

 

コードページで「Unicode(UTF-8)」を選択して、【OK】をクリック。

f:id:cyclo-commuter:20201114152523p:plain

 

文字化けが直りました。【次へ】をクリック。

f:id:cyclo-commuter:20201114152712p:plain

 

「先頭行をフィールド名として使う」にチェックを入れ、【次へ】をクリック。

ここで一つ注意点。
CSVの中身で、Excelで言うところの1セル内に改行がある場合、「テキスト区切り記号」でダブルクォーテーション(")を選択しておかないと、正しくインポートされません。今回は、Accessが自動的に選択状態にしてくれてました。

f:id:cyclo-commuter:20201114152939p:plain

 

フィールドごとのデータ型を選択する画面ですが、とりあえず何もせずに【次へ】をクリック。

f:id:cyclo-commuter:20201114153628p:plain

 

「主キーを設定しない」にチェックを入れて、【次へ】をクリック。

f:id:cyclo-commuter:20201114153807p:plain

 

【完了】をクリック。

f:id:cyclo-commuter:20201114154122p:plain

 

やはり、インポートエラーになりましたが、まあ想定内です。
どんなエラーがあるか、クエリを作って確かめましょう。 

f:id:cyclo-commuter:20201114154621p:plain

 

[作成]→[クエリデザイン]をクリック。

f:id:cyclo-commuter:20201114155216p:plain

 

「テーブルの表示」でインポートエラーのテーブルを選択して、【追加】をクリック。→【閉じる】をクリック。

f:id:cyclo-commuter:20201114155413p:plain

 

「エラー」「フィールド」をフィールド欄に追加して*1、[Σ集計]をクリック。
→【表示】または【実行】をクリック。

f:id:cyclo-commuter:20201114155654p:plain

 

8つのフィールドでエラーが発生、エラーの内容は全て「フィールドの切り捨て」でした。1セル内の文字列が255文字以上あったときのエラーですね。

f:id:cyclo-commuter:20201114161030p:plain

ここで第1の謎が現れます。

AccessCSVのインポート時に、最初の25行からデータ型を自動判別してくれるのですが*2、どういうわけか1レコード目からエラーになっています。

f:id:cyclo-commuter:20201114162626p:plain

 

「短いテキスト」と「長いテキスト」の判別はしないのか、というとそんなことはありません。

f:id:cyclo-commuter:20201114162909p:plain

このように、「研究分担者」フィールドは自動判別されているのです。
まったく解せませんが、とにかく、このことを踏まえてインポートしなおしてみましょう。

長くなったので、続きは次回。

*1:フィールド欄にフィールドを追加するには、以下の3つの方法があります。
 1)データソース内のフィールドをダブルクリックする
 2)データソース内のフィールドを選択して [ 追加] をクリックする
 3)データソース内のフィールドをフィールド欄にドラッグ&ドロップする

*2:テキスト ファイルのデータをインポートまたはリンクする - Access