• 締切済み

SQLサーバーのデータをマクロで読み込むにはどうしたら?

いつもお世話になってます。 マクロを使って、データベースの特定のテーブルの内容をすべてエクセルへコピーさせたいのですが、 その場合どのようなコーディングにすればいいのでしょうか? 質問ばかりで申し訳ありませんが、アドバイスをお願いします。 SQLはMicrosoft SQLServer2005を使用しています。

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 ExcelのOLAP Cube を使えばよいのではありませんか?コピーするというよりも、読み込みすればよいと思います。読み込み自体は、Cube になりますから、制限はないと思います。ただし、データそのものではありません。 http://www.microsoft.com/japan/office/previous/xp/suminaka/excel/sousa/2002/ouyou14_1.htm ただ、それをマクロにするとなると、おそらく、ワークシート側にはDataBase Table ができてしまいますから、それを一旦Tableを壊すか、呼び出したものを、値コピーしないと、それ自体を使えないと思います。

  • utakataXEX
  • ベストアンサー率69% (711/1018)
回答No.1

直接の回答ではありませんが。 もし、処理が一回性(もしくは年に数回)のものだとしたら、そのためにマクロを組むのは面倒です。 また、日次・月次などの定例の処理だったとしても、単純にテーブルの内容をExcelにエクスポートするだけなら、SQL Server の機能である DTSを使えばよいと思います。 (プログラムは作成する必要ありません。原則的にアイコンをポトリ・ペタで設定して行きます) [注意する点] SQL Serverをお使いと言う事は、データ量もそれなりだと思いますが、Excelには格納できる行数の制限があります。 (2007より前のバージョンなら65536行) また、お使いの SQL Server が Express Edition の場合は DTS は使えなかったかもしれません。

wise123
質問者

お礼

遅くなりましたが、ご回答ありがとうございました。 DTSの機能は知ってはいましたが、他の人(主にパソコン初心者の人)が普段この操作をするため、マクロを使って自動で読み込みをしたかったもので・・・。 私の説明不足でした。申し訳ありません。

関連するQ&A

  • SQL初心者です。ご教授願います。

    SQL初心者です。ご教授願います。 テーブルAとテーブルBの比較をしたいと思っています。 比較するのは、全項目(もしくは、特定の項目でもかまいません)です。 どなたか、SQLのアドバイスをお願いします。  条件   ・DB: Microsoft SQLserver2000   ・テーブルAとテーブルBの項目は同じ(コピーして作られたもの)です。   ・比較は全項目です(キー項目の有無も含まれます)。   

  • SQLサーバーについて

    アクセスユーザーです。 データベースを操作するならアクセスよりSQLサーバーの方が良いと聞いたのですが SQLサーバーのイメージがいまいちわかりません。 アクセスは、 ・テーブル ・クエリ ・フォーム ・レポート ・マクロ ・VBA がありますが、 SQLサーバーは、テーブルとクエリしかなくて、 テーブルの置き場として使うソフト。と言う認識であってますか?

  • Sql Server 2005 でデータ抜けについて

    お世話になります。 クラサバを構築しているのですが、クライアントよりデータをサーバに登録する際、VB6 SP4のアプリでバッチ処理を行っております。1電文目(サーバのストアドプロシジャを起動)のみ、サーバ(Sql Server 2005)に更新できません。2電文目からあとは、正しく更新されています。 以前は、クライアント側のプログラムは同じだった状態で、サーバのデータベースは、SqlServer 7.0で運用しておりました。その際は、全く問題なく更新できておりました。 また、SQLSERVER2005でサーバ側のプロファイラを使用すると、1電文目も正しく残っています。 このような現象・対処方法等ご存知の方はいらっしゃいませんでしょうか。 よろしくお願いします。

  • SQLサーバ 互換性レベル

    最近SQLサーバの勉強を始めた者です。 AccessのテーブルをいくつかSQLサーバにインポートする作業をしたところ そのうちのひとつにエラーが出て データの一部がインポートできませんでした。 SqlServerログからエラー内容を確認したところ Setting database option compatibility_level to 100 for database ReportServerTempDB とありました。 これはどういう意味でしょうか? またどのようにすればエラーを修正できますか? SQLServer2008R2 Microsoft Office Access Database を使用しています。 お願いいたします!

  • SQL Server 2000でテーブル内容を同一

    MS SQL Server自体が初心者なので、初歩的な質問だと思いますが、 Enterprise Managerを使って、Aというデータベースの「tbl」というテーブルの内容を、「tbl_new」というテーブルに全てコピーするには、どうすればよいのでしょうか?フィールドの内容は同一です。 ちなみに、両方のテーブルにいくつかデータが存在していて、「tbl」が正しいデータになっています。 同じキーがあれば更新して、キーがなければ追加したいのです。 一度テーブルを消して、コピーするなどの方法が依存関係の都合でできないので、データだけ移したいと思っています。 Enterprise Managerのどの機能を使えばよいのかもわからない状態ですが、よろしくお願いします。

  • Excel マクロ SQL実行について

    いつもお世話になっております。 現在、Excel1997と2007でマクロを作成しております。 使用している環境は様々でOSは2000~XPまでです。 っで質問なんですが、「マクロ」というシートと「データ」というシートがあったとして、「マクロ」シートにはボタンがあり、ボタンを押すとマクロが実行します。 マクロが実行されると「データ」というシートにあるデータをマクロ内のSQLで集計して、新しい「出力」というシートに吐き出します。 現在マクロ内のSQLはDAOライブラリを使用しています。EXCELマクロ内でSQLを使用する場合にDAOやADO等のライブラリを使用せずにSQLを実行することは可能でしょうか?

  • 【使い方】Microsoft SQL Server 2005

    googleなどで、キーワードを 「Microsoft SQL Server 使い方」などを 検索して探しておりましたが、 実際に何をしてから、どうすることによって テーブルを作成して、 作成したテーブルのフィールドに、値を代入して テスト用のデータベースを作成できるかが分かりません。 手順を教えて頂きたいと思います。 お手数ですが、お願いします。

    • ベストアンサー
    • MySQL
  • SQL2008から2000へデータコピーしたい

    使用環境は DB SQL Server2008 Express 使用ツールは Microsoft SQL Server Management Studio です サーバーは 64bit です インストールファイルは SQLEXPRWT_x64_JPN.exe です 現在、同じネットワーク上には SQLServer 2000のDBを使ったサーバーはあるので すがSQLServer2008は1台だけです 今回 SQL2008のDBを 2000の方にバックアップ用としてコピーしたいと思います ファイルの保存だけであれば可能かと思いますが 万が一の時に 接続先を変更して使えるようにしたいと思います。 認識として、 ・データファイルやログファイルは上位DBから下位DBへアタッチ操作はで きない (上位DBのファイルを下位DBがアタッチ操作できない) ・データベースコピーはできない そこで データコピー をしたいと思っています。 下記 HPを参考にフリーソフト(DBCopyTool.exe)を使ってみたのですが http://www.atmarkit.co.jp/fdotnet/dotnettips/859dbcopytool/dbcopytool.html サーバーの登録はうまくいくのですが、対象DBの登録について SQLServer2008express や SQLServer2005express はうまくいくのですが SQL2000のサーバーでは、下記メッセージが出てきます Fehler:Error getting the database.オブジェクト名'sys.database'は無効です 確認したいのは 上記フリーソフトを使われたことがある方、同じような現象には ならないかどうか 何か設定、確認不足なのでしょうか? また当初の希望内容を実現するため、他の方法があれば ご教授願いたいと思いま す。 同HP内の文末に、SQLServer 2000とSQL Server 2008との間でコピーが正しく行え た とあり決して依存するわけではないのですが、もしやと思い試しているのですがうまくい きません。 仮に 2000のDBを2008にコピーできるとしても、該当DBの選択のところでエラーが 出てしまうのはクリアする必要があると思うのですが… 以上 宜しくお願い致します。

  • SQL Server 2005 DBを他のパソコンでも編集したい

    宜しくお願いします。 最近、SQL Server2005の勉強を始めました。 参考書を見ながら自分のPCでデータベースを作ってみました。 これを、他の事務所にあるPCでも編集(テーブルや列を追加)したいのですが、やり方がわかりません。 他の事務所にあるPCにもSQLServer2005がインストールされており、開発環境は自分のPCと同じです。コンピュータ名やサーバー名は違いますが…。 Accessの時は、mdbファイルを持ち歩けば事務所のPCでも簡単に編集ができましたが、SQLServerでも同じような事は可能でしょうか? とりあえず自分で調べて 「C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data」 の中にある、拡張子が「mdf」、「ldf」のファイルをUSBメモリにコピーしたのですが、 事務所にあるほうのPCからどのように開くかよくわかりません。 考え方が間違っているのでしょうか? とても初歩的な質問で申し訳ございませんが方法や参考サイトなどご存知でしたら教えてください。

  • VB.NETでSQL server の操作

    VB.NETにて主に帳票ソフトを作成しているのですが、使用しているデータベースがアクセスなので容量が大きくなると処理がスムーズに行かないため、Microsoft SQL server の導入を考えています。そこで、VB.NETよりSQL serverを操作するコーディングについて説明されているおすすめの参考書などはないでしょうか?宜しくお願いします。(因みに VisualBasic2008, SQL server 2008 です)

専門家に質問してみよう