• ベストアンサー

VBAでEXCELとACCESSについて考える

EXCELLをベースにしたVBAでプログラミングを勉強し、最終的には小さい商店クラスの在庫管理とか商品管理などをやってみたいと思っていました。しかしEXCELLは行制限(65536)があります。 そこでどちみち勉強するならACCESSにしようかと思い、この教えてgooを見ていたら驚くことを発見しました。 ACCESSはデータ件数が1万件程度から極端にレスポンスが悪くなり、また同時入力などがあれば堪えられないほど遅いという意見です。 EXCELLを考えたのはOfficeには必ず含まれているので買わなくてすむが、データ件数の制限がある。ところがACCESSをわざわざ買っても(Professionalにはあるようですが)1万件程度で使い物にならないというのでは、所詮両方とも趣味で使うだけのものか、と思ってしまいました。 実際のところはどうなんでしょうか? 例えば最大端末5台程度の小さい商店でもEXCELLもACCESSも使い物にならないものでしょうか? 無論、トラフィックの多少に影響されるでしょうが、ザクリとしたところでご教授ください。 

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

  • ベストアンサー
  • venzou
  • ベストアンサー率71% (311/435)
回答No.3

過去に、Access2000で4人同時入力のシステムを作りましたが、 特に問題ありませんでした。 その時の構成は下記のような感じでした。 OS:Windows2000 CPU:Celeron 500Mz 程度 サーバ役のPCにデータのみのmdbファイル 各クライアントに、フロントエンドのmdbファイル テーブルはファイル共有を使った、リンクテーブル データの件数は、テーブルによっては数万レコードありました。 主にデータ入力業務だったので、複数同時に頻繁にレコードを追加する 事になりましたが、スピード的にも問題ありませんでした。 ----------------------------------------------------------- >例えば最大端末5台程度の小さい商店でもEXCELLもACCESSも使い物にならないものでしょうか? Accessのみでも、十分可能な範囲だと思います。 Excelのみの場合は、複数同時利用の際の処理が困難ですので、 止めたほうが良いでしょう。 ----------------------------------------------------------- Accessでは心配な場合や、将来の拡張を考えるなら、 データベースは「SQL Server 2005 Express Edition」か 「MSDE 2000」を使う。(どちらも無償で利用可能) http://www.microsoft.com/japan/sql/editions/express/default.mspx http://www.microsoft.com/japan/sql/msde/default.mspx これらの解説は下記など参考に。 http://www.thinkit.co.jp/free/article/0603/9/1/ 小規模なシステムなら、無償のエディションでも十分です。 規模が大きくなった際には、上位エディションへの移行も スムーズに行えます。 上記はデータベースのみで、Accessの様に、フォームやレポート等の フロントエンドは持ちません。これらは別途、作る必要があります。 ----------------------------------------------------------- フロントエンドを何で作るのか? となりますが、この際もAccessの方が便利だと思います。 その理由は、幾つかありますが、 ・リンクテーブルやパススルークエリでサーバに接続できる ・クライアント側に一時テーブル等を作ることが出来る ・帳票等を作る際にはAccessのレポートが便利 Accessのみでの開発と同じような工数で開発が可能です。 ----------------------------------------------------------- Excelでもフロントエンドの開発は可能ですが、ADO中心の開発になるので、 プログラミングの工数は多くなります。 特にExcelでの帳票作成は、Accessのレポートと比べると、 面倒な作業になります。 Accessを購入しなくて良いので、費用的にはメリットがあります。 ----------------------------------------------------------- ついでに、補足ですが、サーバ役のPCのOSに関して。 WindowsXPのHomeエディションは同時接続数は 5 です。 Professionalでも、同時接続数 10 です。 これはOS自体の制限で、データベースは何を使っても同はずです。 今回の件ではサーバ役のPCのOSはHomeでも可能だと思いますが、 接続数が増える場合は上位のグレードが必要になります。 10以上の場合はXPではなく、Server用のOSが必要だと思います。 詳しく調べたわけではないので、間違っているかもしれませんが、 OSを選定する際には、この点もよく調べてみて下さい。

Eloisa
質問者

お礼

的確でわかりやすいご教授ありがとうございます。 なるほどそうですか。 やはりAccessですね。 私のPCがXP Home Edition SP2なものですからAccess単体を購入するかProfessionalを購入するかですが、既にVistaですから迷うところです。 実は現在外国にいるので、近々一時帰国の際に購入するためにアドバイスを受けたかったのです。こちらでは英語Versionは売っていますが英語が苦手なものですから。 ただWordとかExcelの英語Versionを利用している人を眺めるだけの感想では、Helpを使わないのならそれほど違いはなく、慣れるだけかなと思ったりします。 それに英語Versionは当地のほうがかなり安く手に入りますから。 いずれにしてもAccessを選択することにします。ありがとうございました。

その他の回答 (2)

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.2

http://www.mahoutsukaino.com/ac/ac2002/ac2002/kihon2/017.htm アクセスには、色々な意味で、制限がありますね。 画面をExcelで作成し、データベースは、SQL Server、DB2、Oracleを使うというのは、いかがでしょうか? 問居合わせ。入力チェックなどは、VBAで、、、ということになりますが。。

Eloisa
質問者

補足

早速のご回答ありがとうございます。 ご提案の魔法使いの開発工房は、たまたま研究のため読んでいるところでした。「制限がある」というのは一通りの機能をコンパクトにまとめてしまっているからという意味ですね? >画面をExcelで作成し、データベースは、SQL Server、DB2、Oracleを使うというのは、いかがでしょうか? 問居合わせ。入力チェックなどは、VBAで、、、ということになりますが。。 Excelは無料でもデータベース側が高いですね。 No.1さんへの補足質問にも関連するのですが、クライアントはExcel、データベースはAccessということもできるのでしょうか? クライアントの画面は65536行を表示しなければならないことはまずないですから、画面をExcelで作成するというのはいいアイデアだと思いました。しかも入力チェックもできるとなればGooです。

  • j_nishiz
  • ベストアンサー率26% (183/697)
回答No.1

Accessって、実はSQLサーバーにアップグレードできるんですよね。 1万件超えたら、SQLサーバーにDBだけ持って行けばOKです。 あと、Excelも2007から行数制限が大幅に緩和されました。 でも2003まででなれている人には悲惨なほど使い勝手が違ってます。

Eloisa
質問者

補足

早速のご返事ありがとうございます。 >Accessって、実はSQLサーバーにアップグレードできるんですよね。 アップグレードというか、SQLに特化できるという意味ですね? Excel2007に行数制限がなくなったということは初めて伺いました。 使い勝手というのはExcel VBAの使い勝手と理解していいわけですね? 使い勝手は変わっても、使いやすさが向上すればいいと思います。それまでに覚えたことが使えないということでしたら、まだ覚えていない私にはどうでもいいことです。初心者にも覚えにくいということでしょうか?

関連するQ&A

  • ACCESSでのグラフ作成

    ACCESS2000を使用しています. クエリーで選択したデータを使用して、フォーム/レポート? 機能を使用してグラフを作成したいのですが、どうすれば良いのでしょうか? EXCELのグラフでは、データの件数で制限があるみたいなので、ACCESSで作成しようと思っています. ACCESSでもデータ件数等の制限があるのでしょうか? データは7万件ほどあります.

  • accessとSQLserverの違い

    こんちは。 DBについて教えて下さい。 社内システムをActiveServerPagesで構築しようと思うのですが、DBについて教えて下さい。 ACCESSについては多少知っているのでACCESSをDBとして構築したいのですが、ちゃんとしたシステムの場合はSQLserverやOracleのほうが良いと言われました。 何がそんなに違うのでしょう?レスポンス? データ件数は20,000件くらいです。

  • access2000で検索、結果の表示件数制限

    access2000で受注管理をおこなっております。 フォームから条件を指定し,クエリでテーブルを検索し結果を表示している のですが、データが多すぎて困っています。 そこでフォーム上から検索前に表示させる件数を指定する機能をつけたいと 考えています。 100件と指定したとすると、まず100件表示して次の100件を表示する、などの操作が できればいいのですがやり方がわかりません。 せめて、表示件数に達すればあとの検索はしないといった表示件数を制限する 方法だけでも教えてください。よろしくお願いします。

  • ACCESSデータのEXCEL出力

    ACCESSのテーブルデータをEXCEL97に出力する場合、件数の制限がありますか?また、この件について詳しく説明しているようなURLがあれば教えてください。

  • accessの次のデータベース

    質問させていただきます。 今現在accessでデータベースを構築し、20万から30万件のデータを6名程度で入力しています。当たり前ですがレスポンスは落ちています。 ファイルが破壊してしまうのと、入力した後オペレータが検索して使用するので、レスポンスが遅いと業務に支障が出てしまいます。 accessは複数での使用に適していないことや、データ量のこともあり他のデータベースに移ろうと考えています。 SQLのexpressや、PHP+MYSQLなどを考えているのですが、私のスキル的にできるかぎり簡単にできる方法を探しています。 accessの危険をとりあえず回避したのち、きちんとしたデータベースの勉強をして強化できればと思っています。 MSDEを使用し、データテーブルのみをサーバーに移し、accessをフロントエンドで使用する方法を聞いたのですが、この方法だとクエリをクライアント側で実行するのでレスポンス的にはあまり変わらないような気がします。 何かいい方法があればご教授お願いいたします。

  • ACCESS とSQLServerの扱えるテーブルの件数の違いについて

    確か、ACCESSでは扱える件数に何百万件かの制限があったはず だと思うのですが、 どなたが分かりませんでしょうか? またSQLServerについても同様です

  • Access2003 時刻の表示とインポート

    ExcellのデータをAccessにインポートした所、時刻の表示がうまくいきませんでした。 Excellのデータで74:35とあります。ユーザー定義で[h]:mmと設定しています。 これをAccessにインポートすると、3.10763888と表示されました。 デザインビューで、数値型となっていたので、日付・時刻型に変更し、書式を時刻(s)に設定しましたが、思うような表示が得られませんでした。 ひょっとして、Excellでの表示を時間ではなく、10進数で表したらうまくいくかと思い、24を掛けて、74.5833333と10進数になおしインポートしなおしましたが、14:00となるのみです・・・ Excellで74:35ならば、Accessでも74:35と表示させる方法はありますでしょうか。 Accessを勉強し始めたばかりで、質問に見苦しい点があるかと思いますが、よろしくお願いいたします。

  • Accessでのフィルタ検索出来る最大レコード数?

    以前知り合いの方に、「Accessでフィルタをかけられる件数は6万件です」と教えて貰ったのですが、本当でしょうか? それとも最近のものは制限がなくなっているのでしょうか? 私はAccessの2000を使っており、6万件を超えるレコードをフィルタで絞り込みたいと思っています。 どなたか教えて頂けないでしょうか。よろしくお願いいたします。

  • Excel2007 2003の互換性

    お世話になります。 いままでファイルメーカーを使っておりましたが 勝手が悪いので共通にしようと思います。 件数が100件未満のDBなのですがAccessは全員に入っておらず、Excelは標題どおり2007と2003がバラバラに入っている状況です。 状況 ・10人以下で使う ・Accessは全員に入っていない ・Excelは2007と2003が半々くらい ・データは100件程度 留意点やこういったものがお勧めなどありましたらぜひご教授下さい。 よろしくお願い致します。

  • ACCESS

    ACCESS2002 2000形式のテーブル住所録のデータのフィールド郵便番号を新しい郵便番号に変更したいのですが? 可能ですか? 件数は2万件ほど 可能であれば方法を教えて頂きたい。

専門家に質問してみよう