Web上のDBをAccessで処理したい

このQ&Aのポイント
  • Accessを使用してWeb上のデータを処理する方法を教えてください
  • Accessで管理している金銭的情報とWeb上の予約管理システムを統合する方法を教えてください
  • Accessで作業しているデータをすべてWeb上に移行するための手順を教えてください
回答を見る
  • ベストアンサー

Web上のDBをAccessで処理したい

 今まで10年近く、Accessを使って仕事上でお付き合いのある会員さんの金銭的な管理を行ってきました。  今回どうしてもその会員さんの予約の管理をしなければならなくなりJavaScript、Perl、MySqlを使ってどうにかそれをWebに作り上げることができました。  開発の日程がなく、また、慣れない作業であったこともあって、今までのAccessの金銭的な管理システムと今回作った予約管理システムとで、会員さんの登録作業等2回ダブった作業をしなければならないこと、また、本来それらはお互いに関係しているデーターですから関連付けてデーターを使いたいのですが今現在は別々のシステムとしてPC上とWeb上に存在しております。  そこで、それらを統合したシステムになるようにしたいと思い、ネット等でいろいろ調べたのですが、そのような情報を見つけることはできませんでした。  将来的には今のAccessで使っている他のTable等もすべてWeb上に移しAccessを使ってWeb上のデーターを使いたいと考えておりますが、そのようにするためにはどのようにしていけばよろしいでしょうか?  考え方、参考となるHP、その他書籍等、ご教授いただけると大変助かります。なお、今回は主にXpで開発を行いましたが、Vista、Windows7でも対応可能です。 以上、よろしくお願いいたします。

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

  • ベストアンサー
  • pa_cotta
  • ベストアンサー率43% (25/58)
回答No.6

リンクテーブルはODBCで接続可能なデータベースであれば設定可能だったと記憶しています(ODBCは分かりますよね…?)。 そのため、ODBCで接続できない状況にある場合は出来ません。 GUIで操作したい、というだけならネイティブ接続が可能なフリーソフトがありますので、 クエリを発行するのが面倒でなければこちらでもいいかと思います。 http://www.hi-ho.ne.jp/tsumiki/ また、他の方が勧めているようにphpMyAdminなどを入れてみるのも手です。 ただしブラウザベースなのでaccessとは使い勝手はもちろん違います。 ちなみに、webサービスのシステムだとは思うのですが、管理画面はないんでしょうか? 通常管理画面上でデータの追加や修正ができるようにするのが普通だと思いますが、 フロントエンドだけ作ってバックエンドは何もなしだったりすると、それはそれでシステムと見た場合にまずい気はします。 直接クエリを実行して変更することもありますが、経験上それはよほど大規模なデータ修正や構成変更があった場合のみです。

mpstujidou
質問者

お礼

pa_cottaさん  いろいろと教えていただきありがとうございます。  教えていただいた、ODBCでの接続等、試してみたいと思います。  それと例として示していただいた、本、今度本屋に行ったときにあれば見て、良さそうだったら買い求める等したいと思っております。  WebサービスのシステムとAccessのシステム、両方とも管理画面等があり一応2つのシステムとして独立して動いておりそれぞれの目的は達成しています。 それを1つのシステムとして統合したいと思ってこのようにご相談しているところです。 以上いろいろと教えていただきありがとうございました。

mpstujidou
質問者

補足

Naktakさん、pa_cottaさん、neko2kobanさん、ooyan14さん  いろいろと教えていただきありがとうございます。 この1~2週間忙しくてこちらのお返事、作業等できませんでしたが、この4~5日前から作業を再開しODBC等を設定し接続を試みております。 私の設定違い、または、プロバイダーの問題(?)等がありまだ完全ではありませんが、今後はプロバイダーと相談しながらやっていきたいと思います。 また何かありましたらご相談したいと思いますのでその時はよろしくお願いいたします。 大変私の処理が遅くなりましたことを深くお詫びいたします。 以上いろいろと教えていただきありがとうございました。

その他の回答 (5)

  • ooyan14
  • ベストアンサー率0% (0/1)
回答No.5

WEB上で同じDBを扱う場合 Accessで処理することが困難ということを知り、私はArago を使うようになりました。 この言語はMS-DOSの時代から使われていた簡易言語で、WEB上のDBも同じように登録・修正・削除できます。 ただ、画面表示の方法が異なるだけです。 登録画面やDB一覧や個別データの画面表示の仕方には単純なコツが必要です。 ODBC・mysql・ruby,python,phpなどを考える必要もなく、インターネットサーバー上でデータをその場で自由自在に処理し、結果を直ちに表示できます。

mpstujidou
質問者

お礼

ooyan14さん  お答えいただきありがとうございます。  早速、AragoのHPを見させていただき、"カリキュラム"からすると使えそうですね。今度時間をとって、体験レッスン等をやってみたいと思います。  どうもありがとうございました。

  • pa_cotta
  • ベストアンサー率43% (25/58)
回答No.4

accessをフロント、MySQLをバックエンドとした場合のリンクテーブルの設定方法はこちらにあります。 メニュー名が英語版のものになっていますが、都度読み替えていけば問題ないかと思います。 http://dev.mysql.com/doc/refman/5.1/ja/myodbc-examples-tools-with-access.html#myodbc-examples-tools-with-access-linked-tables また、リンクテーブルを勧めない理由はaccessをフロントとして使用するため、 厳密な型の扱いの違い、保守のしにくさ、拡張性のなさなど色々と理由があります。 このあたりはアーキテクチャの違いを調べてみると色々と分かってくるかと思います。 また、開発言語については慣れ親しんだものでいいかと思います。 さすがにfortranやアセンブラだと無理ですが、webアプリとして開発するならruby,python,php,javaとかありますし、 クライアントアプリならVCやVBなんかでもいけますね(もちろんDBに繋ぎこみをするところは考えないといけないですが)。 どの言語がいいかというよりは、自分が理解している言語で一番「楽に」できるのはどれか、 もしないようであれば、にたような言語体系(処理体系とはちょっと違うかな)の言語は何か、を 考えた方がいいと思います。 やろうと思えばほとんどの言語で程度の差はあれできるはずです。

mpstujidou
質問者

お礼

pa_cottaさん  いろいろと教えていただきありがとうございます。  リンクテーブルについては私も使ったことはあるのですが、Web上のテーブルにリンクすることは可能なのでしょうか?教えていただいたHPをじっくり読んでみればよいのですが、読んでもすぐには理解できず、可否だけでも教えていただければと思っております。  それと、DBの規模を最初にはっきり申し上げればよかったのですが、会員数がせいぜい1,000人前後、月間予約数が多くても1,000件ぐらい、それにこのシステムに携わる人数が2~3人、そのような規模のものです。  そのようなことで開発工数等もあまり多く取れませんので、慣れ親しんでいる操作性の良いAccessということにこだわっているわけです。  今後アーキテクチャの違い等を調べて理解していきたいと思っておりますが、お書きいただきました理由のほかにも薦められない理由はありますか?また、このままの形で開発を進めないほうがよろしいですか?  その辺の忌憚のないご意見をお聞かせいただければ幸甚です。 以上、よろしくお願いいたします。

回答No.3

web上へ完全移行する希望とは違いますが データ受け渡しは、web上の会員さんの予約の管理 から ACCESS へと一方向で実現可能でしょうか? 可能ならば、web上のシステムでテキストデータを作成し、ACCESSで取り込むと言う方法も取れるのではないでしょうか

mpstujidou
質問者

お礼

neko2kobanさん  ご回答ありがとうございます。  データ受け渡しは、Web上の会員さんの予約の管理 からAccessへと一方向で実現可能です。ここで私の申し上げている“受け渡し”の意味はただ単にAccessからWeb上のDBを参照したいという意味です。  今2つのシステム、つまりWeb上のシステムとAccessで作った従来のシステムを使っていて一番歯がゆい思いをしているのは、氏名、住所等を管理している会員マスターを両方で持たなければならないために両方をメンテナンスしなければならないということです。  そのような思いをしておりますので、ご提案をいただいたことと同じような方法で、ただ、あまり本腰を入れてやってはおりませんが、Web上の会員マスターのテキストデータを作成してそのデータをPC上のSQLで作ったDBに入れなおして、ODBCを介してAccessで使う方法もやってみました。  以上の方法ですと、適当に時期を見計らってそのような操作をしなければならないので手間隙がかかります。 もし、AccessでWeb上のDBを直接参照するようなことができればPC上で持っている会員マスターを廃止して、Web上の会員マスターを使用するようにして、PCのAccessで使用しているフォーム、クエリー等は必要に応じて修正していく。 そのように考えておりますので、AccessでWeb上のDBを参照するようなことができないかと相談をさせていただいているわけです。 以上よろしくお願いいたします。

  • pa_cotta
  • ベストアンサー率43% (25/58)
回答No.2

accessの機能でリンクテーブルというのがあります。ODBCで接続しにいく感じですね。 access側でデータを修正すればmysql側にも即時反映されますが、 accessとmysqlでは仕様の違いがありますし、正直おすすめできるものではありません。 ご自身の知識を深めるということも含めて、web系の開発言語を使って 管理系のシステムなどを作ってみてはいかがでしょうか? アルゴリズムやアーキテクチャを理解していれば、言語の差なんて微々たるものですし。

mpstujidou
質問者

お礼

pa_cottaさん  質問にお答えいただきありがとうございます。  Accessでリンクテーブルの設定を行えばWeb上のDBを処理できますか?  もし、そのようなことが書かれたHPや書籍等がお分かりでしたら教えていただけると大変助かるのですが。  また、薦められないという事ですが、どのような点がよくないのでしょうか?  それと、Web系の開発言語を使うとお答えいただきましたが、どのような開発言語がよろしいのでしょうか。  以上、再度の質問で恐縮ですが、よろしくお願いいたします。

回答No.1

http://dev.mysql.com/doc/refman/5.1/ja/myodbc-examples-tools-with-access.html 但し、DB、操作PCともにイントラネット内などである必要があります。 DBは通常、セキュリティ保全の為に外部からの接続は許可していないと思いますので。 接続可能な範囲内なら、ODBC経由で接続できると思います。 外部のDBを管理するなら、やはりAccessは捨ててWeb経由でしょう。 せいぜい、Webで更新してMDBをダウンロードして、参照のみを行うMDBファイルを 手にするくらいしかできません。 セキュリティを考慮した上でphpMyAdminを導入しても、Accessと同じようには 使えませんし。

mpstujidou
質問者

お礼

naktakさん  早速のご対応ありがとうございました。  昨日早速、教えていただきましたHPを見させていただき1~2時間実際に試してみましたが、うまくいかず、今日以降チャレンジしていこうと 思っております。  Web上にDBができましたので、それを実務に生かすべく、私もphpMyAdminを使ってみたのですがAccessのように手軽には使えませんでした。 そのようなことで、同じDBを扱うわけですから、Web上のDBをAccessで処理できないのかと疑問に持ちこのように質問をさせていただいているわけです。  再度の質問で恐縮ですが、Web上のDBをAccessで処理できないのでしょうか?  また、Accessを捨てるとすると、具体的にどのような開発言語を使っていけばよいのでしょうか?  もし、よろしかったら再度お答えをいただければ幸甚です。 以上、よろしくお願いいたします。

関連するQ&A

  • ACCESSをWEB計画(超初心者です)

    お世話になります。 社内の管理簿を一つにまとめたいのですが 各部署の管理簿等はACCESSとエクセルで一つのPCに置いてそれを読みに行ってます。 それを社内でWEBにしたいのですが、たとえば 営業部→積算部→設計部→施工部→竣工部、と工程があるのですが、ほとんどが独自のACCESSで管理していて書類上事故が多く困ってます。 各部署にはそのままACCESSを使ってもらいつつ WEBで変更可能なようにしたいのですが。 ACCESSではキー検索はほとんど決まっていてどの部署でもオーダー番号で検索しております。 各部署の1:ACCESS 2:ACCESSのデーターをASPなどで検索・表示・更新・削除等できるとお聞きしました、 本当にそのようなことが可能なのか又、どのような手順でするのかご教授お願い致します。 これから参考本を買いに行こうと思うのですが なにから入っていけばいいのか分かりません。 無駄に購入してしまった参考本:MySQLとPHP、perl、MySQL、PHP、perl/CGI3冊、WEBプロディユースeto・・・です 外注等金銭的には考えておりません。 もう半年ぐらいになりくたくたになりました誰か ご教授宜しくお願い申し上げます

  • MySQL、Accessを利用したDBの設計

    会社で現在の作業をシステム化し、将来的にはマーケティング処理も行う目的でMySQLを導入し、インタフェースをAccessにしてDB設計する方針になり、多少経験があるわたしが担当することになってしまいました。今、必死でMySQLを調べているのですが、基本的な理解ができていません。助けてください!! 1.MySQLとAccessを使うには会わせてODBC、MDACのインストールも必要のようですが、サーバ/クライアントのどちらに載せればいいのですか?他に必要なソフト(ミドル)ウェアはありますか? 2.MySQLの起動とありますが、サーバが立ち上がっている間自動で動作しているものではないのですか?(DBにアクセスする前にサーバに行ってMySQLを起動し、終わったら終了させるということですか?) 3.サーバ上のDBをクライアント側のAccessで操作するには、DBのアクセス権等何をどう設定する必要がありますか? 4.何十万件ものデータ処理をAccessで耐えられますか? 5.現在Access上にあるデータはテーブル毎にODBCにエクスポートするようですがクエリ(SQLソース)、リレーションシップ等はどう移植すればいいのですか?移植で注意すること(文字コード等)とかありますか? Access2002、MySQL3.23.51、phpMyAdmin2.2.6、WindowsXPを使ってます。 MySQL解説書には上記のようなことには触れていないのでわけがわかりません。ながくてばかばかしい質問かもしれませんが教えてください。よろしくお願いします。

  • accessの処理が遅い

    accessの処理が遅く困っています。 何か良い解決方法があればご教授お願いいたします。 まずは現状を説明いたします。 仕事でaccessを使用していますのでどこまで話していいのか迷うとこですがなるべく詳しく書きたいと思います。 まずは私の現状を ・accessは利用歴半年ほどでまだまだ全然理解していない ・職場で必要に迫られて独学で勉強しています ・私的には頑張ってネットや書籍で色々と調べてみました 仕事場で行なっていること ・職場の基幹システム(これが何で作られているとかはさっぱり分かりません)は次のようなデータを処理しています。顧客データ、在庫管理、作業履歴、入出庫管理などなど ・上記の基幹システムが毎日「データ」という名前の圧縮ファイルを本社サーバにエクスポート?していきます ・私はのそ「データ」という圧縮ファイルを使って作業を(主にデータ分析)を行なっています ・「データ」を回答すると「データ1」「データ2」「データ3」「データ4」という4つのMDBファイルが出てきます ・私はその「データ1~4」のMDBファイルを自分の支店の共有フォルダにコピーして作業を行なっている ・ローカルのPC上ではなくネットワーク上にファイルを置くのは、支店内の全員のパソコンからアクセス出来るようにとのことです 問題となっている処理に時間のかかる処理内容というのが クエリを多重で行う(言い方が合っているのか?^^;)ということを5段位行っています 遅いのは当たり前というのはわかって入るのですが、1度のクエリで目的のものを表示させられないので結果こうなりました(ーー; 他にも遅くなっている理由があります 「データ1」などの元となるMDBファイルに入っているテーブルを全てリンクデーブルで参照しています(言い方あってるかな?) なぜ普通にインポートして使わないのかという理由を説明します。 ・「データ」というファイルは毎日、新しくシステムから落ちてきます ・私としては毎日行うクエリを再利用したい ・「データ1」というファイルをある場所に置いておき、自分のデスクトップにMDBファイルを作成し(これを作業ファイルと呼ぶ)、そこに「データ1」の中のデーブルをリンクさせておく。 そして作業ファイル内にクエリを作製する あとは毎日の新しい「データ」ファイルを過去のファイル(作業ファイルにインポートしたリンク先)に上書き保存する。 こうすることでクエリを作製し直さないで同じクエリを再利用し、表示されるデータは毎日最新をキープする。これが理由なんです。 (本当は作業ファイルもネットワーク上に置きたいのです、というか置いていました。しかし遅すぎるため今は取り敢えずデスクトップ上に置いています) しかしこのクエリが多重で行われているためか結果を表示するのに3分~5分かかります。 これを早くしたいのです。 上記の方法におかしな所や、こうしたほうがより早くなるなどのアドバイスがあればお願いします。 そして別件ですが、こういった状況ですので個人的に色々調べてみました。 どうもaccessは大きなデータには向いていない?というような情報を目にします。 「データ1」などのMDBファイルにあるデーブルは100万行などのテーブルもあります。 MDBファイルの容量も2GBギリギリです。 こういう場合はMYSQLやsqliteなどを使用したほうが良いのでしょうか? そういったものを使用した場合は今のaccessのようにGUIで簡単にクエリなどを作成できますでしょうか? そういたものを使用してMDBファイルを扱えるのでしょうか? 非常に分かりにくい質問で申し訳ございませんが宜しくお願い致します。

  • MSAccessのWebシステム化について

    現在、社内で、MSAccess2000で作成した小規模のシステムを使っておりますが、 WindowsXPのサポート切れ問題等もあり、今後も運用し続けることは難しいと考えております。 そこで、AccessからWebブラウザベースのシステムへの移行を検討しております。 AccessをそのままWeb化したい(conversion)わけではなく、 Accessと同等の機能を簡単に実現する開発ツールがないか探しております。 ただ、現在使っているデータベース(MySQL)をそのまま使いたいと考えており、 今のところ、新しいデータベースへの移行は考えておりません。 例えば、ジャストシステムのUnitbaseなどは、クラウド上の専用のデータベースへの移行が必要なようです。 既存のデータベースを活用しつつ、 Webシステムを開発できるようなツールなどがありましたら、 教えていただけますでしょうか? 宜しくお願いいたします。

  • Webで重い処理をするとリクエストが10回飛ぶ

    PHPでフレームワークのCAKEを使ってWebシステムを作っているのですが、どうしてもわからない点があるので、ご教授頂きたく質問させていただきました。 現在Webサーバ2台とDBサーバ1台であるサービスを運営しています。 Webサーバはロードバランサで負荷分散をしています。 画面上でどうしても重たい処理をする必要があり、実行しているのですが、リクエストが10回飛びデータが10個登録されるという不思議な現象が起こっており対応に困っています。 開発用にWebとDBが一緒の開発用サーバもあります。やったことは 1.開発用のサーバで同じデータ、同じ処理を実行 リクエストは1回でデータも1個登録 apacheのアクセルログにも1回アクセスされている 2.運営用のサーバで同じ処理だが、データ量を減らして実行 リクエストは1回でデータも1個登録 apacheのアクセルログにも1回アクセスされている 3.運営用のサーバで同じデータ、同じ処理をIPアドレスを指定して実行 リクエストは1回でデータも1個登録 apacheのアクセルログにも1回アクセスされている 4.運営用のサーバで同じデータ、同じ処理を実行 リクエストは10回でデータも10個登録 apacheのアクセルログにも10回アクセスされている 以上の結果からロードバランサで何かしらのことがされているのかと思い、サーバ会社に問い合わせてみたのですが、「そんなことはない」との回答でした。 他に何をどう調べたらいいのかもわからず、かなり手詰まりなかんじです。 手がかり、確認内容などなんでもいいので、ご教授頂けないでしょうか。 よろしくお願いします。

  • accessは何ができるの?

    accessをまだ購入すらしていない者です。 ただaccessに大きな希望を持っています。 私にはやりたことがあります。それは顧客の予約管理です。現在はエクセルでその日ごとの顧客データを手入力で打ち込み紙に印刷し使用しています。 夢見ているシステムは、予約管理画面に顧客番号を入力すると過去に入力した顧客データの詳細が出力されるようにしたいのですが、その夢のようなシステムはaccessであれば実現できるのでしょうか? また日ごとに管理することは可能でしょうか?よろしくお願いします。

  • access WEBで閲覧できるデータベースにする

    accessのデータをPHPやPerlを使って WEBで閲覧できるデータベースにすることは出来るのでしょうか? トンチンカンな質問でしたらすいません。

  • DBの管理について

    たびたびお世話になります。 WEBで顧客情報を登録してもらいDBで管理する場合ACCESSなどのPCソフトで管理するのと、MYSQLなどと、PHP等でフォームを作成して管理するのではどちらがスムーズに管理できるのでしょうか?管理したい内容は 1・登録情報の追加、削除等 2・登録情報から条件を指定して抽出 3・抽出した所へメール送信 4・登録情報の一括登録(数千件) などを主に考えています。基本的に、データーはMYSQLのDBに登録されている内容を管理したいと思っています。宜しくお願いします

  • ACCESSのデータ移行について

    ACCESSについて質問します。 アクセスのクエリーとかリレーションとかは理解できるレベルですが、 友人に頼まれて、簡単な会員管理システムを作ることになりました。 1度に要求するシステムを完成させるのではなく、 何度かに分けてバージョンアップしていく計画ですが、 その際に、アクセスの場合システムとデータが一つにまとまって 会員管理.MDBというファイルになってしまうと思います。 このような場合、一旦運用が始まってしまってある程度の 量のデータが入力され始めてしまった場合に、 システムのバージョンアップをするにはどのようにデータを 移行すればよろしいでしょうか? 因みに、アクセスでシステムを作成するのは初めてです。 よろしくお願いします。

  • accessとphpとsql

    現在、WEBからphpでSQLを使い、access(2002)にデータ入力とデータ参照するシステムを作成しています。 とりあえず両方できていますが、データ入力は複数人数で同時に更新(異なるレコード。テーブルは同一)することが想定されます。 排他制御はやりかたがわからずに組み込んでおりません。 ですが、入力者には個別のページに飛んでそこからデータを更新するようなWEBになっており、注意して作業してもらえば排他制御しなくてもいいかなと思っています。 ネットでaccessではデータの破損が起きやすいとありましたが、このような使用状況では起こりえるでしょうか? また、accessからmysqlなどに変更するメリットなどはありますでしょうか? よろしくお願いします。