• ベストアンサー

VBAでのDB使用に関して

以下の条件を満たすDBを探しているのですが こういうのは無いのでしょうか? オラクルとかはインストールさせないと駄目なんですよね。 ・メインで動くのはEXCEL(VBA) ・OSはWINDOWS ・複数のユーザーで同じDBを参照・更新する ・配布先でインストール作業が発生しない  (もしくは、WINDOWS標準で入ってる機能で対応出来るとか?) わかる方いらっしゃいましたら、宜しくお願いします。

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

  • ベストアンサー
回答No.2

配布先でインストール作業が発生しないデータベース製品となると Microsoft の SQL Server など Microsoft 製品になります。(データベースアクセスに必要な情報を Excel ファイルにもたせるとして) 他者の製品を使うとなると、クライアントにどうしてもドライバやプロバイダなどをインストールする必要があります。(今回の要件には適合しませんが、 Oracle データベースに限ってはマイクロソフトが読み取り専用のプロバイダを提供しています。これはインストール済みです。フル機能のプロバイダは提供しようと思えばできるでしょうが商売敵ですからね。) 他者の製品を使いながらインストール作業を回避するとなると、データベースアクセスの前にアプリケーションサーバのレイヤを配置して HTTP 関係のプロトコルで通信を行う(いわゆる WebAPI みたいな構造にします)方法が考えられます。つまり、ブラウザの代わりに Excel がその役目を果たします。 つまり、データベース製品の問題ではなくアーキテクチャの問題かと思います。 2層構造のアーキテクチャでは、クライアントのインストール作業はほぼ必須です。(前述のマイクロソフト製品を除いて)このため、インストール作業はできるだけ自動化することが望ましいです。 3層構造のアーキテクチャでは、クライアントのインストール作業は(すでにインストールされているソフトウェアを使用するため)軽減されます。(ソフトウェアの設定が必要になることがあります)

snowsan062
質問者

お礼

まとめてのお礼になり申し訳ありませんが、お二人とも回答ありがとうございました。 私の知識が浅かった事もあり、最初の方が回答してくれた内容について調べておりました。 仰るとおりサーバーが必要になるみたいで それに対してOKが出るかどうか微妙なので とりあえず現状維持で放置する事にしました。 両方とも参考になる意見だったのですが もしサーバー用意してやるとなると Orangeさんの教えてくれたSQLServerが良さそうなので Orangeさんをベストアンサーとさせていただきます。

その他の回答 (1)

  • STICKY2006
  • ベストアンサー率29% (1536/5269)
回答No.1

えと >>・複数のユーザーで同じDBを参照・更新する >>・配布先でインストール作業が発生しない この時点で、配布先~に配布するのは、VBAだけ。(EXCELだけ になるだろうから、配布先でインストール作業。 は考えなくて言いと思うけれども。 どっかにサーバ確保して、そこにDBインストールするなりしておけばいいだけなので。 複数ユーザーが同じDB参照、更新する。んですから、データはどこかで一元管理されている。 が必須ですね。 なので 配布先でDBインストールなんて考えなくていいので、どんなDB使ったっていい。 と思いますよ。 無料の方がよければ、MySQLあたりがとっつきやすいかと。 MSにこだわりたければ、SQLServer、Acceessあたりで。 まぁ、それぞれ、仕様用途次第で、推奨、非推奨もありますが。 後は、サーバにも入れたくなくて、完全無料でやりたい。 なら、テキストでやればいい。 データ蓄積されたもの。がデータベースであるわけだから、テキストファイル内に、データを蓄積して、VBAの方であーだこーだやって 使えるようにすればいいだけですので。 あぁ。。。でも、VBA(EXCEL)あるってことは、Accessも持ってるか。多分。

関連するQ&A

  • Excel VBA 2003 ユーザフォームで表を表示したい

    ExcelでUser FORMをつくっています。DBにSQLを投げて結果をSheet上に 表示するのではなくForm上に表示したいのですが、標準では表の オブジェクトがありません。 外部モジュールでいいのはありませんか? できればソフトウェアをインストールしたり OS標準のDLLを参照しなくてもよいものがいいです。

  • DBが起動しない。

    DB作成後にアクセスをしようとしたら、DBが起動しておらずアクセスができませんでした。 DBが起動しなくなる、というバグがあるらしいので、スタートアップサービスに登録してバッチで起動しようとしたのですが、複数のDBを起動しようとすると全て起動せずに1つしか起動しません。 複数のDBをスタートアップから起動させる際のバッチの記述に問題があるのでしょうか? DBが自動起動しないという事象がありましたら、お教えいただきたく存じます。 Oracleのバージョンは8.1.6で、OSはWindows2000です。 どなたかよろしくお答え頂きたく存じますm(_ _)m

  • ACCESSのクエリからORACLEのDBを更新したい。

    初心者です。 宜しくお願いいたします。 Accessで選択クエリーでORACLEのDBを表示してデータの修正をやっていますが、選択クエリーで複数をリンクさせると更新ができません。更新は1つのDBなのですが、なにか方法があるのでしょうか。更新クエリーならできるのでしょうか。 例)AとBをリンクしてBに更新。

  • VBAによるEXCELからORACLEへのデータロード

    VBAにてEXCELの表形式のデータを ORACLE DBへ取り込むようなことができないかを いろいろと調べています。 その辺りは全くシロウトなんで、 簡単かつ詳しいサイト、書籍等ありましたら ご教示いただければありがたいです。 よろしくお願い致します。

  • DBに突然つながらなくなりました。

    つい先ほどまで繋がっていたのですが、 WebカメラのドライブをインストールしたらLOCALのDBに接続できなくなりました。 LOCALのDBではなくサーバーのDBには接続できます。 リスナーもサービスも上がっているのですが、なぜか接続できません。 どなたか教えて下さい。宜しくお願いします。 【使用しているバージョン】 Oracle9i 【エラーメッセージ】 ORA-12560:TNS:プロトコル・アタブタ・エラーが発生しました 【イベントビューアのメッセージ】 Initializing PGA for process RECO in instance local.

  • ExcelのVBA使用ファイルが保存できなくなり困っています

    はじめまして。 ExcelのVBAでデータの集計ツールを作っています。 何度も利用してうまく動いていたのですが、後日モジュールやフォームの修正を加えて保存しようとしたら「保存できませんでした」のメッセージが出て保存できなくなりました。 その後全く、更新作業ができなくなりました。 また、マクロも強制終了するようになりました。 Excelの再インストールをしましたがそれでも回復しません。 どうすれば修復できるのでしょうか? どなたかよろしくお願いします。

  • VBA Oracle接続について

    現在、Access2013+oo4oでOracle11gのDBに接続しています。 今回、DBをOracle12cに変更しようとしています。 Oracle12cよりoo4oがサポートされなくなり、使用することが出来ないとの事で ODP.NETでの接続に変更しようとしていますが可能なのでしょうか? ちなみに以下を行ったところ、うまくいきませんでした。 (1)Oracle.DataAccess.dllのインストール OracleClientのインストールをカスタムで行い「Oracle Data Provider for .NET」 を個別にインストールしました。結果以下にDllがインストールされました。 C:\app\client\administrator\product\12.2.0\client_1\ODP.NET\bin\ 4\Oracle.DataAccess.dll (2)参照設定で追加 上記のdllをAccess2013の参照設定より参照の追加をしようとすると以下の エラーになりました。 「指定されたファイルへの参照は登録できません」となりました。 以上、宜しくお願いします。

  • NotesのDB上Excelからのデータ引用

    Notes内のDBに保存されているExcelファイルから、自分のPCのローカルに保管されているExcelファイルにデータを引用したいです。 Notes内のExcelは同一DB内に複数個あり、担当者がそのファイル内のデータを更新、またファイルの新規作成追加を行います。 そのNotes内の複数Excelからデータを引用し、ローカルのExcelにて一括でデータを参照できるようにしたいです。 更新されたデータを自動で反映されるようにしたいです。 ご情報いただけますと幸いです。

  • Vbaでアクセスからエクセルにリンクテーブルする

    Vbaでアクセスからエクセルにリンクテーブルするには? エクセルの情報: C:\Users\Desktop¥新規 Microsoft Excel ワークシート.xlsx シート1の情報: フィールド1 フィールド2 あああ    aaa いい     iii ううう    uuu なのですが、 アクセスからVBAでリンクするにはどうすれば良いでしょう? 手作業なら 外部データ→エクセル→外部データの取り込み→リンクテーブルを作成してソースデータにリンクする でリンクできますが、vbaで行いたいです。 Sub Sample01() Dim db As DAO.Database, tb As DAO.TableDef Set db = CurrentDb Set tb = db.TableDefs("Sheet1") tb.Connect = ";DATABASE=" & CurrentProject.FullName & ";TABLE=Sheet1" tb.RefreshLink ' リンク情報の更新 End Sub このコードは意味が違いますよね エクセルのパスとシート名を指定してリンクする方法を教えてください。 最終定期にはシートをループして複数のテーブルを作成したいのです。 リンクが無理ならインポートでもOKです。

  • DBサーバーへのoracleインストールについて

    oracleをDBとして使用する 2つシステムをサーバーへインストールし利用する予定なのですが OS、Oracleのインストール後、インスタンスを2つ(環境ごとに)作成する予定です。 インスタンスを作成する際、リスナーの設定など。 何か注意すべき点等ございますでしょうか? 初歩的な質問で申し訳ございませんが ご教示頂けると大変有難いです。 OS / Windows2008server oracle / 11g よろしくお願い申し上げます。

専門家に質問してみよう