• ベストアンサー

データベースからのインポートについて

現在某社のデータロガー(ロギングソフトと帳票作成ソフト付属)を使用し、測定機器のデータをPCに記録しています。 以前までは、場内を歩き回り、ペンレコーダーのデータをメモし、Excelの日誌に入力していました。 今回これらを導入したことにより、業務の効率が良くなりました。 配線や設置等を自分達の手で行った達成感もあり、ソフト面もさらに何とか自分達で充実させたいと考えております。 そこで質問なんですが、データベースからエクセルの日誌上に、毎時自動的にインポートするためにはどのような手段がありますか? よろしくお願いします。 なお、OSはXPproです。

質問者が選んだベストアンサー

  • ベストアンサー
  • neuron-x
  • ベストアンサー率52% (139/266)
回答No.1

DBからExcelへの定時インポートを行おうとした場合、次のような事ができればよいはずです。 (1) DBからデータを取得する (2) 取得したデータをExcelに書き込む (3) 定時に(1),(2)の処理を起動する 私なら、(1)~(2)、もしくは(1)~(3)を行うプログラムを作って対応すると思います。 (1)は、DBに何を使用しているかがわからないので何ともいえませんが、たいていはODBC経由で取得が可能ですね。 (2)も、C#、VC++、VB、さらにはJavaからExcelを扱うことができるので、比較的簡単に実現できると思います。 (3)の定時実行は、Windowsのタスク(コントロールパネル→タスク)を使用して、プログラムの起動をスケジュールしておけば簡単に実現できます。 もしくは、自分でWindowsサービスプログラムを作成して、定時単位に(1)~(2)の処理を実行・・・ということもできますね。 ・・・私が考えた方法はこのような感じですが、実現方法は他にもたくさんあると思います。

missile-boy
質問者

お礼

補足の欄に書き忘れてしまいました。 このDBの場合の取得方法を教えていただきたいです。 お礼も補足も混ざってしまい失礼しました。

missile-boy
質問者

補足

早々に答えてくださり、本当に有り難う御座いました。 お蔭様で先が明るくなりました。 neuron-xさんのおっしゃる通り、 ぜひ(1)~(3)を行うプログラムを作って対応したいと思のですが、 まず、(1)のDBからデータを取得する際、ODBCデータソースアドミニストレータをいじってみたんですが、うまくいかないんです。 現況といいますか、概要としましては、ロギングソフトが収録したデータファイルをサーバーソフトで自動的に読み出し、帳票データに加工し、DBに保存しているようです。(MRDファイル?)また、このDBをMSSQLServerが管理しており、そして、クライアントソフトを用い、DBに格納されているデータから、日報、月報等のデータを検索し、CSVファイル等を出力する仕組みになっています。 本当情けない質問で申し訳ありません。 よろしければ返信いただきたいです。 お願いします!

その他の回答 (1)

noname#182251
noname#182251
回答No.2

既に#1の方が正しい方向を示されておりますが、若干補足すれば 1.データ移動(インポート)するアプリケーションは、常駐して(仮に毎分)チェック、移動を行ってもPCにさしたる負荷はかけない 2.SQLサーバのデータ(及び構造)を変更できるのであれば、移動済みフラッグなどを装備してエクセルのデータが重複しないようにする ぐらいです。プログラムはさほど難しくないですが、それでも言語とSQLに対する基本的(よりもう少し上)の理解は必要です。 CSVには(多分手動で)出力できるようなので、これから手動でエクセルへ取り込むのでは駄目なんでしょうか?これが一番簡単確実なんですが。取り込み部分はVBAなどで簡略化出来ます。

missile-boy
質問者

お礼

ご回答有り難う御座います。 さらに見通しが明るくなりました。 CSVの件に関しましては、fuuten_no_neko さんのおっしゃる通り、確かに一番簡単確実なのですが、操作上少し手間がかかってしまう為、なるべく手動では行いたくないのです。 さっそくご回答を参考にさせていただき、勉強してみます。 まずは基本ですね。

関連するQ&A