Accessのテーブルに蓄積したデータを
エクセルに落としたいのですが、イメージとしてAccessに入力するのと同時にエクセルにもデータが反映されるようにしたいのですが、良い方法はあるでしょうか?質問がわかりずらいと思いますが、Accessのテーブルのデータとエクセルがリンクしているようなイメージです。よろしくお願い致します。
回答が違っていたらすみません。
私がよく使うのは、ACCESSの該当テーブルをODBCに登録をしてEXCEL側からデータ→外部データの取り込み→新しいデータベースクリエでACCESSのテーブルデータをEXCELのシートにひっぱることが出来ます。
リアルタイムにACCESSへの入力データが繁栄されるわけではありませんが、EXCEL側でクエリを実行させるたびにデータを更新させていくことは出来ます。
ExcelのVBAで、ADO等を利用してAccessに接続し、レコードセットとしてデータを引っ張ってきてExcelのセルに入れていく、という感じで可能です。
データの更新は、ファイル読み込み時と、Excel側の更新ボタンを押すなどで更新するようにすると良いでしょう。
こう書くと簡単ですが、やるのはかなり難しいですよ。
DAO、ADOを使ってAccessのデータ参照の方法を説明しているページがありました。
http://www.nurs.or.jp/~ppoy/access/excel/xlM006.html
これを参考に挑戦してみてください。
ありがとうございます。
難しそうですが試してみます。
もう既に満足されているかもしれませんが、
こんな方法もありますのでご紹介しておます。
これは一旦Excel側にデータを移して、Access側にリンクする方法です。
(「貼付け」の場合1データの文字数が多い項目は2行以上に渡って表示されることがあります。また、テキスト設定の項目に数字データが入っている場合、データの先頭に「'」がつくことがあります)
これで設定は終わりです。
Access側で入力作業をした後、元のExcelファィルを開いてみてください。入力内容が反映されていると思います。
また、Excel側で変更作業したものも、Access側でテーブルを開くときに自動的に更新されます。
基本的にExcelの仕様限界を超えるデータ(データレコード数が65535以上、項目数が256以上)にならない限り、この方法で十分同期が取れると思います。
もちろんこのリンクテーブルは、Access内にある他のテーブルと同じように使用できます。
ただし、Access側で項目を追加したり、項目形式の設定を変更することはできません。
(Excel側ではできます)
この方法の利点は、Excelの外部参照のように更新しなくても、ファイルを開けた段階で自動更新されることなので、質問者さんが希望されている
Accessに入力するのと同時にエクセルにもデータが反映されるようにしたい
というケースでは便利だと思います。
すいませんが、ODBCへの登録というのは
どのようにするのでしょうか・・・?