質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.22%

データ格納所としてのaccessファイルをSQLServerファイルに置き換えることについて

解決済

回答 1

投稿

  • 評価
  • クリップ 1
  • VIEW 946

neet_studier

score 21

よろしくお願いいたします。

こちらでたびたび質問させていただいたことを元に、趣味だけでなく仕事でも、ExcelをフロントエンドとしてACCESSのaccdbファイルにあるテーブルのデータを読み書きするようなシステムを作り、社内で使用しております。
事務所内の中心的PCにaccdbファイルを置き、LANで繋がっている他の複数のPCに設置したExcelファイルからそれぞれ、その一つのaccdbファイルに接続して使っている状態です。
このシステムの使用者は、ExcelVBAで作られたexcelファイルを開いているとしか認識しておらず、その奥にAccessファイルがあることも、意識していません。また、accdbファイルにはいくつかのテーブルしかなく、レポートやフォームはもちろん、アクションクエリなどもありません。

かねてから、accdbファイル(ACCESS)は複数端末からの同時使用に脆いとか、高頻度で最適化を実行しないと破損のリスクが高まるなどの情報に接し、心配しているのですが、以前、こちらで質問し、accdbをsqliteに置き換えるのは、あまり意味がないとわかりました。
やはり、SQL Sever(無償版のexpress)への変更を検討することにしたのですが、私はAccess以外のデータベースソフトをろくに知りません。それでもどうするのか早く結論しなくてはならず、急いで本を読んだりいろいろ調べていますが、まだわからないことがあります。こういうケースでのSQLServerへ移行について、教えてください。

(Q1)
SQLSeverファイルでデータを保持管理することにするとしても、Accessのテーブルからリンクという形にして、Accessファイルはそのままで、各テーブルの中身の実態を、SQLServerファイル内のひとつひとつのテーブルにする、ということもできるようです。その場合、Excelからは、これまで通り、Accessと接続しているように見えるはずなので、今のVBAにあるAccessとの接続やレコードセット取得等のコードは書き直す必要がないのではないか、と解釈しています。間違っているでしょうか?また、構成からしっかりSQLSeverへの置き換えを行なわず、Accessを残したままでこういう変更をするのは、なにかデメリットがあるでしょうか?

(Q2)
SQLSeverのファイルmdfを使う以上、SQLServerというソフトをインストールする必要があるのはわかりますが、この場合、mdfファイルを置くサーバーPC1台にだけインストールすればよく、そのサーバーPCのmdf内のデータを参照するExcelシステムを起動させる各PCたちには何もしなくてよいと考えていいでしょうか?

(Q3)
Accessの感覚だと、Accessというソフトかランタイムをインストールしておけば、その後はとくにそのへんの仕組とか気にせずに、システム本体であるExcelファイルを起動して使っていられたのですが、accdbではなくSQLServerのmdfファイルの中身をExcelから(Accessを経由するかも)参照するシステムを使用する場合、いちいち「SQLServerというソフトを起動」という操作をする必要があるのでしょうか?「このシステムを使うにはExcelだけではなくSQLServerというのが管理するDBが必要なのだが、そのDBのデータを使うためにはまず、DBサーバーソフトであるSQLServerを起動させなくてはだめだ」という認識を、現場でシステムに入出力作業をするパートさんたちに持っていただけるとは思えないのですが。
accdbのように、一度DMBSソフトかランタイムをインストールしておけば、あとは知らん(だって他のシステムから参照更新できればいいだけであって、テーブル定義とかいちいちいじるわけではないんだし)、というわけにはいかないでしょうか?

以上です。
横着な質問に思われるかもしれませんが、私じしん、AccessやVBAを多少かじったという程度なのに、遠方の営業所から「それ便利そうだからこっちでも使わせてよ」と言われ、どうしようかと迷ってるところです。安定的運用のためにSQLServer利用にしたほうがよさそうだけど、Accessランタイムだけでもわかってもらいにくい人たちにSQLServerのインストール、ましてや日常的なServer起動なんてやってもらえるものか、というところで逡巡しています。
インストール時だけで済むなら、誰かの出張ついでとかにお願いできるかも、とか、いろいろ迷っています。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

(Q1)

接続するための情報をAccess側で持たせるか、Excel側に持たせるかの話ですから、敢えてAccess経由する必要は無いと思います。

(Q2)

どうやって接続するかによって必要な物は変わってきます。
ODBC接続ならODBCドライバーですし、専用で接続するならclientソフトが必要です。

(Q3)

PC起動時に合わせて起動するようにサービスの設定をすれば利用者は意識しなくて済みます。
ですが、利用の為には初期設定諸々が必要ですし、利用される方はそこまで求めてはいないと思います。
使い始めて、改良を要望されるかもしれませんしね。

希望される方が多くなり、全社的な利用となった段階で考慮される方が良いかと思います。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/03/31 17:31

    ご回答ありがとうございます。ODBC接続/専用接続 の意味すらまだよくわかっていないので、そのあたりから調べてみます。
    また、PC起動時に自動的にサーバーソフト起動ということもできる、というのは、安心しました。
    どうもありがとうございました。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.22%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる