<HOME  <お願い事項   <Access2002 TOP   <Access2000 TOP   <サイト内検索
 MS-Access97超入門>外部データの活用
 はじめに インポート(mdb) インポート(xls) インポート(txt) リンク(mdb) リンク(xls) リンク(ODBC) テーブルをエクスポート



■MS-Excelのシートをインポート

じゃ、今度はMS-Excelのワークシートからインポートしてみましょうか。
例えば下のような表があったとします。下の図はMS-Excelの画面です。
こいつをインポートして、Accessのテーブルとして利用できるようにしようかなと思います。

途中までは同じです。メニューバーの[ファイル]→[外部データの取り込み]で、出てきたダイアログボックスの中にインポートするExcelのファイル名を指定します。

その時、「ファイルの種類」というところを、勇気を持って開いてみましょう。別に勇気はイラナイですけど・・・。

Microsoft Excelっていう選択肢、ありますよね。これに切り替えると、ファイル名の一覧がExcelのファイル一覧に切り替わります。

と、一筋縄では参りません。やっぱし、パソコンソフトって、ソフトによってファイルの構造とか考え方とかぜんぜん違いますからね。
細かいところを指定するためのウィザードが起動します。

まず、Excelというものは、ひとつのファイルの中に複数の「シート」というものを持っています。
イメージとしては、画面に表示されている表は、ノートの中のどこか1ページなわけですね。
上の図でいくと、このファイルの中には、「Sheet1」「Sheet2」「Sheet3」と3ページあるみたいですけど、何ページ目をインポートします?と聞いているわけです。

残念ながら、一度の操作では1シートしかインポートできません。Sheet2も3も〜という場合は、2度3度インポート作業をしてください。

あらかじめ、Excelの方でデータをまとめておくとか、取り込みたい部分だけ名前付けをしておくとか、整えておくと、いいかたちでインポートしてこれるかもしれないですけどね。

さて、平面的なワークシートからAccessのテーブルデザインを起こすわけですねよね。
Excelみたいな表計算ソフトで表を作るときって、たいがい1行目を見出しというか、項目名みたいにして入力しません?

この行がワークシート内の5行目にあるとか、2列目から始まってるとかいうと、ウィザードでも手におえないかもしれないですけど・・・。
とりあえず下の例では、1行目をフィールド名として扱って問題なさそうですね。

チェックボックスをチェックすると、フィールド名になったみたいな感じがしますよね。

さて、で、大体準備は整ったんですけど、どこにインポートするか指定しないとならないですよね。
新しいテーブルを作るのか、それともテーブルは既に作ってあるのでそこにインポートするのか・・・。

お勧めは「新規にテーブルを作る」ですかねぇ。いや、あくまであたしの好みなんですけど・・・。

既に作って使っているテーブルに直接インポートするのは少々乱暴なような気がします。
いったん適当な名前のテーブルを新規に作ってインポートし、後で追加クエリー等々を使って既存のテーブルの合致させるようにした方が、手間はかかりますけどいいと思いますよ。

大切なデータですからね。この辺はなるべく手間を惜しまず、整えていってください。


インポート先が決まったら、フィールド名やインデックスの指定など、テーブルデザインに関する項目をいくつか変更できるようになってます。
あれ、下の図ではデータ型は変更できないみたいですね。でもまあ、テキスト型でいいのかな。後で考えましょう。

Excelで作った表の中で、「[所属]はいらないなぁ」という場合は、このフィールドをインポートしないという設定もできます。
この辺もうまく活用して、必要なデータだけ効率よくインポートできるようにしてみましょう。

さて、なんだかいつもいつも頭の痛い主キーに関する設定の画面です。
この時点で、主キーにふさわしいフィールドがあれば、それを主キーにしましょう。
上のテーブルだと、[商品番号]がよさそうですけど、みなさんのお手持ちのデータだとどうでしょう。

Excelで作った表なんかだと、データベースとして意識して入力したものじゃないと思いますんで、主キーとかいわれても困っちゃう場合が多いですよね。きっと。
オートナンバー型のフィールドを勝手に付けてくれる機能がありますし、主キーなしでインポートしてくることもできます。

これで完成です。[次へ]をクリックすると、名前等々確認の画面が出ますので、[完了]ボタンをクリックします。

成功したら、こんなメッセージが出てきます。エラーメッセージじゃないですよ。よく読んでくださいね。

さーて・・・うまく取り込めたかなぁ・・。どきどき。

お、できてますね。これでもうこっちのもんです。
Accessのテーブルになりましたから、今のうちにフィールド名とかもろもろ変更したり、データ型を確認しておいたりしましょう。
社員テーブルで[商品番号]ってのは変だよなぁ。ははは。