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



■はじめに・・・「外部データを活用する」ということ

他のコーナーに比べて、輪をかけて図が多いので、表示に少々時間がかかるかもワカリマセン・・。
図は軽めに作ってありますが、どうにも数が多くなってしまって・・・。すみませんです。


今開いているデータベース(mdbファイル)以外の場所にあるデータを取り込むまたは吐き出すというのが目的です。

目的は「同じデータを2度3度作るのがめんどくさいので、前に作ったやつを生かそう」ということで、リサイクルというか、まあそんな感じでとらえてください。

外からデータを取ってくる方法には、このインポートテーブルのリンクの2通りの方法があります。
どちらも、見た目には対して変わりありませんし、目的は同じ。外にあるデータをうまく活用して、労力等々資源を有効活用しよう、というものです。


★テーブルのリンク

他のmdbファイル内のテーブルや、Excelのワークシートなど他のパソコンソフトのデータ・・・・。
あるいはOracle、SQLサーバーなど、他のデータベースに、その都度接続して中のデータを使わせてもらう、レンタル型利用方法。
リンク先のデータベース内のデータが書きかわると、書きかわった状態のデータを参照することができます。


★インポート

他のmdbファイル内のテーブルや、Excelのワークシートなど他のパソコンソフトのデータ、あるいはOracle、SQLサーバーなど、
他のデータベースのデータを、自分のテーブルとして利用する、買い取り型利用方法。
テーブルのリンクとの最大の違いは、相手のデータベースと切り離され、連動しないというところです。

mdbファイル内のオブジェクトの場合、テーブルだけでなく、フォームやレポート、クエリーなど他のオブジェクトも
そっくりそのままインポートしてくることができるんです。

なので、以前作ったフォームと似たようなのをまた作らなくちゃいけないんだけど・・・なんていう場合に便利。
インポートしてからちょこっとプロパティなど変更すれば使える、というケースもあると思います。


★エクスポート

インポートの逆です。オブジェクトを保存すると見せかけて、他のmdbファイルの中に書き出したり、
テキストファイルやExcelのファイルなど、別のファイル形式に変換して書き出したりすることができます。


コンピュータのデータには、いろいろな形式があります。

名前を付けて保存すると、ファイル名の後ろにアルファベット3桁の「拡張子」なるものがつきますよね。
これによって、どのソフトで作られたどの形式のファイルなのか識別されます。

MS-Excelだと「およよ.xls」、MS-Wordだと「およよ.doc」・・・とかね。
Accessの場合は、テーブルは独立したファイルじゃなくて、デーベース全体で「およよ.mdb」っていうファイルになるんですよね。
で、その中にテーブルがいくつか存在する形になる。Excelなんかとは、ちょっと構造が違いますかね。

で、その拡張子によって、アイコンの形も決まります。
まず、アイコンの絵柄が違ったら、データの形式が違うファイルなんだということになります。

とくにパソコンの世界では、使ったソフト固有のデータ形式がありますから、はっきりいって互換性ないんですよ。
なので、「Excelで作った表をLotus1-2-3で開いて使おう」と思っても、そうは問屋が卸さないのです。

でも、絶対だめ、というわけじゃなく、ある程度やり取りができるようになってます。
Accessの場合もそうで、このインポート機能テーブルリンク機能がまさにそれですね。

インポートにはふたとおりの目的があります(と、あたしは思いますぞ)。

1.Access以外のソフトで作ったファイルを、Accessのテーブルとして使いたい場合。

いろいろなファイルを取り込むことができます。

ソフトウェア名称 バージョンなど
FoxPro 2.x、3.0
dBASE III、III+、IV、および 5
Paradox 3.x、4.x、および 5.0
Excelワークシート 3.0、4.0、5.0、7.0、および 8.0
Lotus 1-2-3 ワークシート wks、.wk1、.wk3、および .wk4(テーブルリンクの場合は読取専用)
区切り記号付きテキスト ファイル カンマ、タブ、またはほかの文字により区切られた値を持つファイル
固定長テキスト ファイル 各フィールドが、特定の幅になるように調整された値を持つファイル
HTML 1.0 (リストの場合)
SQL テーブル ODBC プロトコルをサポートするデータベースなど
Lotus 1-2-3 driver のドライバは、Office 97 ValuPack を使って組み込むことができます。

だいたい、取り込もうとするとそれ専用のウィザード画面が表示されます。
なので、画面の指示に従えばカンタンにインポートしてくることができるようになっています。
安心してじゃんじゃん取り込みましょう。

ソフトによって、例えばヘッダー情報の持ち方やフィールドの区切り方など若干異なります。
Accessのテーブルとして取り込んできても大丈夫かどうか、ある程度各ソフト側で確認をしておいた方がよいでしょう。
ExcelとかLotus1-2-3なんて、列を無視して標題付けてたり、5行ぐらい行間あけてたりしてる場合、ありますよね。
取り込んで来てからじゃなかなか直しにくいところもあります。
表計算ソフトの場合は、開いてみて、このままテーブルに取り込んでよいものかどうか、見ておいた方がよいでしょう。

2.他のAccessのデータベースから、オブジェクトを取り込む場合。

レポートとかフォームって、複雑なデザインだけどしょっちゅう似たようなの作る・・・ってケース、結構出てきそうですよね。
そんな時に、以前作った別のデータベース(mdb)から、レポートやフォームを個々に取り込んでくることができる、というわけです。
もちろんテーブルも、です。

ただ、レポートもフォームも、レコードソースにしているテーブルやクエリーが必要なわけです。
テキストボックスやらコマンドボタンは、それぞれその中のフィールドや、マクロなどと結びついて、ひとつの仕事を成し遂げてますよね。
その辺のつながりは、みなさんもうオッケーだと思います。
レポートだけ取り込んできても、関連するテーブルやマクロまでいっしょに取り込んでくるわけじゃないので・・・。
取り込んできたあと、どうすればいいのか、そのレポートのプロパティやらデザインやら見直ししないとならないですよね。