プロが教える店舗&オフィスのセキュリティ対策術

 今まで10年近く、Accessを使って仕事上でお付き合いのある会員さんの金銭的な管理を行ってきました。

 今回どうしてもその会員さんの予約の管理をしなければならなくなりJavaScript、Perl、MySqlを使ってどうにかそれをWebに作り上げることができました。

 開発の日程がなく、また、慣れない作業であったこともあって、今までのAccessの金銭的な管理システムと今回作った予約管理システムとで、会員さんの登録作業等2回ダブった作業をしなければならないこと、また、本来それらはお互いに関係しているデーターですから関連付けてデーターを使いたいのですが今現在は別々のシステムとしてPC上とWeb上に存在しております。

 そこで、それらを統合したシステムになるようにしたいと思い、ネット等でいろいろ調べたのですが、そのような情報を見つけることはできませんでした。

 将来的には今のAccessで使っている他のTable等もすべてWeb上に移しAccessを使ってWeb上のデーターを使いたいと考えておりますが、そのようにするためにはどのようにしていけばよろしいでしょうか?

 考え方、参考となるHP、その他書籍等、ご教授いただけると大変助かります。なお、今回は主にXpで開発を行いましたが、Vista、Windows7でも対応可能です。

以上、よろしくお願いいたします。

A 回答 (6件)

リンクテーブルはODBCで接続可能なデータベースであれば設定可能だったと記憶しています(ODBCは分かりますよね…?)。


そのため、ODBCで接続できない状況にある場合は出来ません。

GUIで操作したい、というだけならネイティブ接続が可能なフリーソフトがありますので、
クエリを発行するのが面倒でなければこちらでもいいかと思います。
http://www.hi-ho.ne.jp/tsumiki/

また、他の方が勧めているようにphpMyAdminなどを入れてみるのも手です。
ただしブラウザベースなのでaccessとは使い勝手はもちろん違います。

ちなみに、webサービスのシステムだとは思うのですが、管理画面はないんでしょうか?
通常管理画面上でデータの追加や修正ができるようにするのが普通だと思いますが、
フロントエンドだけ作ってバックエンドは何もなしだったりすると、それはそれでシステムと見た場合にまずい気はします。
直接クエリを実行して変更することもありますが、経験上それはよほど大規模なデータ修正や構成変更があった場合のみです。

この回答への補足

Naktakさん、pa_cottaさん、neko2kobanさん、ooyan14さん

 いろいろと教えていただきありがとうございます。

この1~2週間忙しくてこちらのお返事、作業等できませんでしたが、この4~5日前から作業を再開しODBC等を設定し接続を試みております。

私の設定違い、または、プロバイダーの問題(?)等がありまだ完全ではありませんが、今後はプロバイダーと相談しながらやっていきたいと思います。

また何かありましたらご相談したいと思いますのでその時はよろしくお願いいたします。

大変私の処理が遅くなりましたことを深くお詫びいたします。
以上いろいろと教えていただきありがとうございました。

補足日時:2013/05/02 17:25
    • good
    • 0
この回答へのお礼

pa_cottaさん

 いろいろと教えていただきありがとうございます。

 教えていただいた、ODBCでの接続等、試してみたいと思います。

 それと例として示していただいた、本、今度本屋に行ったときにあれば見て、良さそうだったら買い求める等したいと思っております。

 WebサービスのシステムとAccessのシステム、両方とも管理画面等があり一応2つのシステムとして独立して動いておりそれぞれの目的は達成しています。
それを1つのシステムとして統合したいと思ってこのようにご相談しているところです。

以上いろいろと教えていただきありがとうございました。

お礼日時:2013/04/05 17:19

WEB上で同じDBを扱う場合 Accessで処理することが困難ということを知り、私はArago を使うようになりました。



この言語はMS-DOSの時代から使われていた簡易言語で、WEB上のDBも同じように登録・修正・削除できます。
ただ、画面表示の方法が異なるだけです。
登録画面やDB一覧や個別データの画面表示の仕方には単純なコツが必要です。

ODBC・mysql・ruby,python,phpなどを考える必要もなく、インターネットサーバー上でデータをその場で自由自在に処理し、結果を直ちに表示できます。
    • good
    • 0
この回答へのお礼

ooyan14さん

 お答えいただきありがとうございます。

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

 どうもありがとうございました。

お礼日時:2013/04/05 16:20

accessをフロント、MySQLをバックエンドとした場合のリンクテーブルの設定方法はこちらにあります。


メニュー名が英語版のものになっていますが、都度読み替えていけば問題ないかと思います。

http://dev.mysql.com/doc/refman/5.1/ja/myodbc-ex …

また、リンクテーブルを勧めない理由はaccessをフロントとして使用するため、
厳密な型の扱いの違い、保守のしにくさ、拡張性のなさなど色々と理由があります。
このあたりはアーキテクチャの違いを調べてみると色々と分かってくるかと思います。

また、開発言語については慣れ親しんだものでいいかと思います。
さすがにfortranやアセンブラだと無理ですが、webアプリとして開発するならruby,python,php,javaとかありますし、
クライアントアプリならVCやVBなんかでもいけますね(もちろんDBに繋ぎこみをするところは考えないといけないですが)。

どの言語がいいかというよりは、自分が理解している言語で一番「楽に」できるのはどれか、
もしないようであれば、にたような言語体系(処理体系とはちょっと違うかな)の言語は何か、を
考えた方がいいと思います。
やろうと思えばほとんどの言語で程度の差はあれできるはずです。
    • good
    • 0
この回答へのお礼

pa_cottaさん

 いろいろと教えていただきありがとうございます。

 リンクテーブルについては私も使ったことはあるのですが、Web上のテーブルにリンクすることは可能なのでしょうか?教えていただいたHPをじっくり読んでみればよいのですが、読んでもすぐには理解できず、可否だけでも教えていただければと思っております。

 それと、DBの規模を最初にはっきり申し上げればよかったのですが、会員数がせいぜい1,000人前後、月間予約数が多くても1,000件ぐらい、それにこのシステムに携わる人数が2~3人、そのような規模のものです。

 そのようなことで開発工数等もあまり多く取れませんので、慣れ親しんでいる操作性の良いAccessということにこだわっているわけです。

 今後アーキテクチャの違い等を調べて理解していきたいと思っておりますが、お書きいただきました理由のほかにも薦められない理由はありますか?また、このままの形で開発を進めないほうがよろしいですか?

 その辺の忌憚のないご意見をお聞かせいただければ幸甚です。

以上、よろしくお願いいたします。

お礼日時:2013/04/04 16:56

web上へ完全移行する希望とは違いますが


データ受け渡しは、web上の会員さんの予約の管理 から ACCESS へと一方向で実現可能でしょうか?

可能ならば、web上のシステムでテキストデータを作成し、ACCESSで取り込むと言う方法も取れるのではないでしょうか
    • good
    • 0
この回答へのお礼

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を参照するようなことができないかと相談をさせていただいているわけです。

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

お礼日時:2013/04/04 15:26

accessの機能でリンクテーブルというのがあります。

ODBCで接続しにいく感じですね。
access側でデータを修正すればmysql側にも即時反映されますが、
accessとmysqlでは仕様の違いがありますし、正直おすすめできるものではありません。

ご自身の知識を深めるということも含めて、web系の開発言語を使って
管理系のシステムなどを作ってみてはいかがでしょうか?
アルゴリズムやアーキテクチャを理解していれば、言語の差なんて微々たるものですし。
    • good
    • 0
この回答へのお礼

pa_cottaさん

 質問にお答えいただきありがとうございます。

 Accessでリンクテーブルの設定を行えばWeb上のDBを処理できますか?

 もし、そのようなことが書かれたHPや書籍等がお分かりでしたら教えていただけると大変助かるのですが。

 また、薦められないという事ですが、どのような点がよくないのでしょうか?

 それと、Web系の開発言語を使うとお答えいただきましたが、どのような開発言語がよろしいのでしょうか。

 以上、再度の質問で恐縮ですが、よろしくお願いいたします。

お礼日時:2013/04/03 11:46

http://dev.mysql.com/doc/refman/5.1/ja/myodbc-ex …

但し、DB、操作PCともにイントラネット内などである必要があります。
DBは通常、セキュリティ保全の為に外部からの接続は許可していないと思いますので。
接続可能な範囲内なら、ODBC経由で接続できると思います。


外部のDBを管理するなら、やはりAccessは捨ててWeb経由でしょう。
せいぜい、Webで更新してMDBをダウンロードして、参照のみを行うMDBファイルを
手にするくらいしかできません。

セキュリティを考慮した上でphpMyAdminを導入しても、Accessと同じようには
使えませんし。
    • good
    • 0
この回答へのお礼

naktakさん
 早速のご対応ありがとうございました。

 昨日早速、教えていただきましたHPを見させていただき1~2時間実際に試してみましたが、うまくいかず、今日以降チャレンジしていこうと 思っております。

 Web上にDBができましたので、それを実務に生かすべく、私もphpMyAdminを使ってみたのですがAccessのように手軽には使えませんでした。

そのようなことで、同じDBを扱うわけですから、Web上のDBをAccessで処理できないのかと疑問に持ちこのように質問をさせていただいているわけです。

 再度の質問で恐縮ですが、Web上のDBをAccessで処理できないのでしょうか?

 また、Accessを捨てるとすると、具体的にどのような開発言語を使っていけばよいのでしょうか?

 もし、よろしかったら再度お答えをいただければ幸甚です。

以上、よろしくお願いいたします。

お礼日時:2013/04/03 11:18

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