プロが教えるわが家の防犯対策術!

小さな会社(製造業)でEXCELで事務から生産まで管理しております。
ですが将来的にはデータベースに移行しようと考えております。

その時に使うデータベースソフトは
MS-ACCESSにしようと思っているのですが、
偶然、以下のリンクの記事を見てやろうとしていることが

ACCESSで可能かどうか疑問を持つようになりました。

複数クライアントが同時にデータ登録できる
データベースアプリケーションソフト
https://oshiete.goo.ne.jp/qa/9689138.html?from=m …


MS-ACCESSに詳しい人、すいませんが以下の2点のことが
ACCESSで出来るのか(向いている)のか教えて下さい。

追記
今すぐというわけではないので、一般的に「よく使われている」とか
「他のデータベースソフトにした方がいい」というレベルでOKです。
詳しい方、説明の上手な方、よろしくお願いします。

1)複数のパソコンからデータベースにアクセスして同時にデータ入力をする

2)複数のパソコンからアクセスして同時にマクロを動かす

質問者からの補足コメント

  • うれしい

    素人の読み方ですいません。

    ご解答によると、数台なら入力端末(フロントエンド側)にある
    マクロを同時に動作させることも可能なんですよね?

    もしお手数でなければご解答を頂ければ嬉しいです。

    ※お手数でしたらスルーでOKです。
    ご解答ありがとうございました。

    No.2の回答に寄せられた補足コメントです。 補足日時:2017/04/08 14:37

A 回答 (5件)

それぞれの端末にあるAccessのマクロを、それぞれの端末で同時に実行するという意味だと思いますが、可能です。


データを置くサーバー・HD等にはマクロを作らず、端末にあるマクロをそれぞれで実行するということですね。
私の方では10人位の部署で使っていますが、不具合等発生したことはありません。
もちろん、作り方がおかしいと正しく動きませんが。
    • good
    • 1
この回答へのお礼

ご解答ありがとうございます。

>それぞれの端末にあるAccessのマクロを、それぞれの端末で同時に実行するという意味だと思いますが

その通りです。

>私の方では10人位の部署で使っていますが、不具合等発生したことはありません。

10台くらいまではいけるんですね。
端末3台から5台くらいまでの同時アクセスを考えていたので、
これくらいならMS-Accessでもいけそうですね。

あらためてご解答頂きありがとうございます。
機会がありましたら、またお願いします。

お礼日時:2017/04/08 16:23

Accessのフォーム画面で、1レコードの問い合わせ/更新処理を作り


データの読み込み・編集作業をしている間に、別の端末からマクロが
実行されてデータを別の値の変更を行い、その後に編集中のデータの
書き込みを行った場合、マクロで更新した値は上書きされて、元の値
または別の値に変わってしまう事があります。
その様な場合には予めテーブル単位またはレコード単位で、他からの
更新処理を制限する為のロック処理を、明示的に行う必要が有ります。
#一つのマクロの実行に長時間かかる場合も同様
それをせずに同時にアクセスして上手くいったと言うのは単なる偶然。
    • good
    • 0
この回答へのお礼

ご解答ありがとうございます。

まだ実務で使ってないので実感が湧きませんが
いろいろあるんですね。

ご解答ありがとうございます。機会がありましたらまたお願いします。

お礼日時:2017/04/08 16:57

可能です。


排他制御は アクセスで 行いますから無問題。

それと、レベルによりますが
アクセスのデータベース部分だけ利用して JETエンジン。
フロントは、VBによる コードの方が利用の幅が広がります。
ただ、これやると、フロントの自作ソフト EXEのインストール作業が必要となりこれが欠点。その分、アクセスは(JETエンジンは)1個で済む。
    • good
    • 1
この回答へのお礼

ご解答ありがとうございます。

とりあえず、No.3さんのお答え同様、
端末側でマクロを利用できるようで良かったです。

あとJETエンジンという言葉を初めて聞きましたが、
軽く検索したところ以下のサイトがヒットしました。
Jetデータベースエンジン
http://bit.ly/2oMDWxE

データベースの分野ではこんなのがあるんですね。

いろいろ教えて頂きありがとうございます。
機会がありましたらまたお願いします。

お礼日時:2017/04/08 16:54

サーバーまたはLANでつないだHD等にデータベースを置き、各端末側にもAccessを入れて入力することが可能です。



データベースのことをバックエンドと呼び、Accessではテーブルというものだけを置きます。これと各端末とをリンクで結びます。

入力端末に入れるAccessにはクエリ、フォームなどというものだけを置きます(リンクされたテーブルはありますが、実体はバックエンドにあります)。こちらはフロントエンドと呼ばれます。

PC数台程度の小規模ネットワークならこの方法が手軽です。

でも実は、この方法はAccessでは推奨されておらず、SQL Serverというソフトを使うことが推奨されています。台数が多く規模が大きい場合はその方がいいというより上記の方法に信頼性がなくなりますが、数台程度ならまずエラーなどは起きないと思います。
この回答への補足あり
    • good
    • 1
この回答へのお礼

ご解答ありがとうございます。

フロントエンド、バックエンドのお話ありがとうございます。

ローカル環境で少しだけですがACCESSで業務をしております。
なので、テーブル、クエリー、フォームは使っており、
ACCESSの中だけですがデータベースの概念はちょっとだけ実感しております。


>数台程度ならまずエラーなどは起きないと思います。

小さな会社なので、同時アクセスする端末は3台から5台程度です。
それを考えると微妙なところですね。

No.1さんの説明も読んだのですが、データベースの場合いろいろあるんですね。
参考になりました。

今回はご解答頂き、ありがとうございます。
機会がありましたらまたお願いします。

お礼日時:2017/04/08 14:23

>ACCESSで出来るのか(向いている)のか教えて下さい。


向いているかいないかといえば、向いていない方でしょう。

複数のパソコンから同じデータベースのデータにアクセスする為には、
データベースに何を使うかによらず、アプリケーション側でレコード
単位又はテーブル単位での排他処理が必須です。

ACCESSは、データベースアプリケーションを簡単に作成できますが、
もともとが個人用途なので、複数端末からの同時接続に対する対応は
弱く、多くの端末からの同時アクセスが予想される場合には、避けた
方が良いでしょう。
    • good
    • 1
この回答へのお礼

ご解答ありがとうございます。

>ACCESSは、データベースアプリケーションを簡単に作成できますが、
もともとが個人用途なので

リンク先にこのことが書いてあり、初めて知りました。

リンク先の解答では、FileMakerPROがおすすめだそうですが、
とにかくMS-ACCESSは向いてないんですね。

今回は、ご解答ありがとうございます。機会があればまたお願いします。

※他の方の意見も聞いてみたいので、しばらく質問は開けておきます。

お礼日時:2017/04/08 14:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています