• 締切済み

この仕様を実現するには、VBAとADOで充分なのでしょうか?足りませんか。

当方、SEを1年半経験して現在WEBサイト制作に携わっております。 以下の仕様を実現するため、足りない知識を補強しようとしております。 そこで、「○○の知識が必要」、さらに可能でしたらオススメの書籍など アドバイス頂ければ幸いです。 【仕様】 データベース(仮にMySQLとします)に、 テーブルAとBがあります。 Aは会員情報テーブルで、名前やメールアドレス、そして属性という項目を持っているとします。 (属性は仮に1~3という3種の数値だとします。) Bは、属性別の「メッセージ」を持つテーブルとします。 Aと連携し、たとえば仮に山田さんが属性1だとすると、 ------------- 山田様 ここに属性1のメッセージ ------------- というように、最後はエクセルに出力し、 印刷まで行うシステムを作りたいと考えています。 上記のようにエクセルとDBが連携するには、 VBAとADOに関して書いてある本から学べば足りるのでしょうか。 (現在、こういった判断が全くできないほどの知識量で困っております。  また、大きな書店で何冊か本を見ていましたが、mdbという拡張子の  データベースファイル?にアクセスする例しか載っておらす、  本当にこれで任意の外部DBにつなげるのか疑問に思っております。) ちなみに私の現状は、 ・SQL文は書けます。 ・VBもプログラミング経験が1年ほどあります。厳密にはVBAは未経験ですが。 ・必要な本を買えば、VBAなどのコードを理解することはできると思いますが、  今回の案件をゼロから自分で書くのは不可能な状況です。  (それで、本を探しております。似たような例が載っている本を読めば、  理解し、できる自信はあります。) 以上ですが、不足がありましたら申し訳ございません、 コメントにて随時補足させて頂きたいと思います。 どうぞ宜しくお願い致します。

みんなの回答

  • benelli
  • ベストアンサー率51% (78/152)
回答No.4

#2のものです。 スタンドアロンでDBとエクセルの連携をさせるのは技術的には簡単です。(中級者以上ならば、ですが……) VBAだけで考えても、参照設定でDB用のライブラリでも読み込んでSQLでアクセスすればどうにでもなります。 VBAとADOで十二分ですね。 そもそもADOでは必要な情報を取得するだけであり、デザインやら印刷やらそれ以外のことはすべてVBAでやればいいだけのことであります。 あとは、どの部分までをマクロ化し、どの部分を人間に任せるかというだけですね。マクロに任せれば任せるほど作るのが大変なのはお分かりでしょう。 お話を聞いていると、プログラミング云々よりもDBの設定やSQL文を作りこみのほうが大変かも知れないと思いました。 できることなら、どんな誤動作が起きてもDBをキズ付けないようにすることなど(DBのバックアップをとり、そこからSQLで取得するなど)安全面に気をつけたほうがよいかと思います。

  • tomo316
  • ベストアンサー率35% (51/142)
回答No.3

<というように、最後はエクセルに出力し、 <印刷まで行うシステムを作りたいと考えています。 ExcelとDBを連携させることほとんどの人ができると思います。 <後日こちらで(Web上ではない)前述のような流れで印刷し、 <印刷結果を郵送するという仕様です。 ANo.2の回答への補足を見ると、規模によりますが、手作業で封筒に摘めて、宛名を書いて、切手を貼って、ポストに投函すると言う仕様なのでしょうか? (私がユーザだったらそんなシステムめんどくさくていやだな)・・独り言 システムとともに業務フローを書いて整理することをオススメします。

  • benelli
  • ベストアンサー率51% (78/152)
回答No.2

ExcelとDBを連携させること自体は簡単です。でも、WEBサイト制作が目的なんですよね? ローカル環境でExcelからDBにアクセスするのは至極簡単で、VBAでやるのもいいですがExcelの外部データ読み取り機能を使えば最悪言語の知識なしでも読み取れるのはおわかりかと思います。 ただ、ネット環境でこのようなことをするには情報が、というか方針があいまいすぎじゃないですかね。そもそもWEBサイト制作をするならExcelやADOなどは二の次であり、大事なのはサーバー構築やらJSPやらCGIやらHTMLやら動作環境などやら、そういったことを決めるのが先だと思います。 ひとまず、Excelを使わなくてはならない理由、WEBサイト制作との関連性、サーバー・クライアントの環境設定(Excelはどちらの環境に依存?)などを整理してみてはと思います。

hana3hana3
質問者

補足

アドバイスありがとうございます。 そして申し訳ありません、私の説明不足です。 今回の処理は、WEB上で行うものではなく、WEBサイトから 「診断」を希望して登録された方に、診断結果を 後日こちらで(Web上ではない)前述のような流れで印刷し、 印刷結果を郵送するという仕様です。 ご経験のある方からのアドバイス、大変有り難いです。 どうぞ宜しくお願い致します。

  • kani7
  • ベストアンサー率47% (110/231)
回答No.1

遥か昔にMySQLに繋いでデータをグラフ化するツールの一部を見たことがあります。 MySQL用のODBCプラグインのような物を入れた覚えがあります。 MySQLをADOで使うツールもあるようなので問題ないように思います。 むしろMySQLから得たデータをexcel形式にするツールの方が難しいような。 どこかで、HTMLを直接execlに食わせて表データとして扱う方法を 見た記憶がありますが見つけられませんでした。

参考URL:
http://www.mysql.com/products/connector/
hana3hana3
質問者

お礼

ご回答、ありがとうございました。 おそらく、不可能ではないと私も思うんですよね。 あとは、知識不足なので具体的な方法が一度分かれば、 マスターできると思うのですが・・。 こういう時、たとえば職場にそれができる先輩がいると 習得が早いのでしょうね。