• 締切済み

Excel+mdbファイル

一つの高校で成績データベースの構築を行いつつあります.担当者の知識はExcel(VBA含む)とAccess(VBA含む)とADOです.実際に構築した経験は 1.Excelのみの定期考査成績処理システム(ユーザー60以下) 2.Excel+ADO+mdbの調査書発行システム(ユーザー10以下) 3.Accessのみの大学入試出願管理システム(ユーザー10以下) があります.それぞれの感想は以下の様. 1.同一科目担当者は順番待ちで入力し,科目ごとにファイルを準備しているのでユーザーが多くても対応出来ました.それらの科目ファイルを一つのファイルに集約して統合表のようなものを作ります.しかし,統合表はデータベース的でないので複数年度集約利用する場合はマクロでデータベース形式に整形したり単位数を最入力したりしなければなりません. 2.は特に問題ありませんでした. 3.何と言っても同時入力のパフォーマンスが悪いです. そこで,今回は2.の手法で開発しました.問題はユーザーが60ぐらいにふくれあがることです.しかし,同時実行ユーザーは多くても数名だと思います.要点はデータの入力・編集はインターフェイスのExcelに入力表をシート上に展開し,作業は未接続状態で行い,mdbへの書き込みは瞬時に行なってしまうことで,接続の排他処理でのエラーを少なくしていることです.このようなシステム構築例をあまり知りませんので,ご経験のある方にアドバイス頂きたいと思います.

みんなの回答

  • aoyama984
  • ベストアンサー率45% (253/561)
回答No.1

Excel+ADO+mySQL Access+ADO+mySQL Access+ADO+フロントエンド分割MDB などはどうですか どういう内容で どんな障害があったのか 文面からはよく分かりませんが SQLはどのようなものを書いたのでしょうか

ereserve67
質問者

補足

障害があったのではなく,これから運用していく予定なので,予期される障害などアドバイスがあったらということです.本業傍らのシステム開発なので十分テストができない状態からの見切り発車なので不安なのです.mySQLなどは良い選択肢だと思いますが,担当者にその十分な知識がないのでmdbをデータベースとしているのです.SQL文はADOのレコードセットを取得する場合に使い,点数の平均点や出欠の集計などに多用しています. 接続をたくさん同時に立てるとmdbが壊れるとききますが,更新のための接続は排他で行うようにし,他の人はその接続が切断されるまでリトライするような仕組みを採用しています.これだと基本的には何人でも同時に接続するような環境にあってもmdbが壊れることはないですよね.もちろん,バックアップも自動でとるようにしています.

関連するQ&A

  • ADOを使えます。どのくらいのレベルでしょうか。

    Accessの一つのmdbファイルをデータベースとして、Excelをインターフェイスとして、システムを作れます。具体的には、成績データベースを作り、ADOによってExcelのシートにデータベースのデータを抽出して取り出し、そこで入力・編集を行い、ADOによってデータベースのデータ変更を確定させるという方法で、一つのmdbファイルを複数の端末におけるExcelによって書き込んでいます。 こういうことができるレベルってどのくらいのレベルなのでしょうか。

  • VBAでmdbファイルを新規作成する方法。

    すみませんが、教えてください。 EXCEL VBA + ACCESS でプログラミングしています。 プログラム実行時、mdbファイルを新規に作成し、 そこに、既存のmdbファイルより、テーブルをエクスポートさせたいのですが、 いろいろと、方法があるようで、どうすれば良いのか、判断しかねています。 SQL+ADO でACCESSを操作することを基本方針で、プログラムしています。 このような場合、上記のようなことを実現するためには、どのようなアプローチをとるのが、スマートな方法なのでしょうか? 周りに、詳しい人がおらず困っています。 すみませんが、よろしくお願いいたします。

  • MDBファイル自体のロックする方法

    こんにちは。 MDBファイル全体をロックする方法はあるのでしょうか。 MDBのVBAから、又はVB等外部プログラムからのロック 方法です。 外部プログラムではADOを使用しての方法を教えてください。

  • MDBファイル自体が消失

    MS-Access2003で、データベースを作成し、業務に使用しています。 そのデータベースを使用していたところ、業務中にMDBファイルが消失しました。 当時の状況を確認したところ、以下の通りです。 (1)該当のデータベースは起動していた。 (2)「新規レコード作成(フォームでコマンドボタンを作成)」ボタンを押したところ、応答なし (3)MDBファイルが消失していることを確認 使用している環境は以下のとおりです。 (1)MDBファイルはファイルサーバ(Windows2000 Advanced Server)上に配置 (2)使用していた端末は5台程度(Windows XP Professional) (3)同一のMDBファイル内に入力用フォームを作成し、そのフォームからデータを入力 MDBファイルが開いている状況で消失したということもあり、原因がさっぱり分かりません。 手動で消去した形跡もありませんでした。(操作ログ記録ソフトで確認) 原因の解明と今後の対策でお力をお借りしたく、質問しました。 よろしくお願いします。

  • ACCESSのmdbファイルが壊れました・・・

    アクセスでmdbファイルを起動中にPCがフリーズしてしまい,再起動をさせました。 その後,mdbファイルを起動させようとしたところ, 「修復が必要であるか,データベースファイルではありません。データベースを開いているときに,いずれかのユーザーがACCESSを終了しました。修復しますか?」 というエラーメッセージが出ます。 当然修復を選択したのですが,すると修復中にAccessが強制終了してしまいます。 なお,そのmdbファイルと同一フォルダー上にmdbファイルと同一名のaccess.lockfile.9という形式のファイルが1つ存在します。 このような状況の場合,修復は可能なのでしょうか? ファイルの一部分でも復活させたいのですが・・・。 よろしくお願いします。 なお,OSはwin2000 pro,ACCESSは2000です。 よろしくお願いします。

  • UDLファイルでパスワード設定されたmdbに接続

    ローカルmdbファイルにパスワードの設定を行わなければ、UDLファイルから「プロバイダ」→「Microsoft Jet 4.0 OLE DB Provider」を選択し、「接続」のユーザー名を「Admin」、パスワードなしで接続出来ています。 しかし、mdbファイルにパスワード設定を施したのちに、udlファイルに同じパスワードを設定して接続しようとすると、以下のようなメッセージが表示されてしまいます。 ************************************************* Microsoft データリンクエラー 「プロバイダの初期化中にエラーが発生したため、接続のテストに失敗しました。アプリケーションを起動出来ません。データベースが存在しないか、またはほかのユーザーが排他的にシステムデータベースを開いています。」 *************************************************  ・・・パスワード設定されたmdbファイルへのアクセスは、UDLファイルからは出来ないのでしょうか? 参考URLまたはアドバイスをお願いいたします。

  • accdbファイルの最適化

    accdbファイルを成績データベースとして,入力インターフェイスにExcelをもちいてデータベースシステムを運用しています. ユーザーがaccdbファイルに接続する時間は1秒未満になるようにしたり,ユーザーがデータベースに書き込みするときは排他接続するなどして,複数ユーザーが直列処理になるようにしています.これで同時利用者が数十名でもファイルは壊れませんでした. ですが,ファイルが肥大化して,年度初め10MBだったのが学期末には40M近くになっていました.バックアップ世代をとっていることもあり,ちょっと困るなと思い,手動でAccessアプリケーションによる最適化を行いました. システムはADOで作っているので各ユーザーの入力作業ではAccessアプリケーションは基本的に使いません.ただ,学期末処理をする際にExcelからAccessアプリケーションを呼び出してある資料をレポート出力します. そこで質問です.accdbファイルをAccessアプリケーションで開いてオプションで「閉じるときに最適化する」にチェックしておけば,ExcelVBAからaccdbファイルを開いて閉じたときに自動的に最適化されるのですか.

  • アクセスMDBファイルが破損

    アクセスんのMDBファイルを使用中に、何かの原因でファイルにダメージが起こったものと思われますが、終了後に再起動しようとしてもファイルを開けません。 下記のエラーメッセージが出ます。 「~は修復する必要があるか、データベースファイルではありません。 Microsoft access データベースが開いているときに、いずれかのユーザーがmicrosoft access を終了しました。」 「このデータベースを修復しますか?」 修復を選択して、管理用のパスワードを入力しても 「パスワードが正しくありません。」とメッセージが出て、 「~は修復できないか、Microsoft accessデータベースファイルではありません。」となり、結局、開くことができず終わってしまいます。 このDBファイルはネットワークで複数人が使用しています。 ファイルと同名のLDBファイルは開いたままになっています(64kb)。 なにか修復の方法があれば教えてください。 よろしくお願いします。

  • Excelでmdbファイルが簡単に開けましたが、これはどおすれば開けますか?

    Windows XP Home Edition Office XP Personal 2002 Excel 2002 Accessは導入しておりませんが、 お試し版のfeelAccess0.mde(Microsoft Access 2002 Runtime)は導入しております。 Access、mdbファイルについては初心者です。 http://www.tsware.jp/tips/tips_362.htm の方法で C:\Program Files\Fujitsu\FCook\CookData にある FCook002.mdbファイル をデスクトップに持ってきて、 Excelにてワンクリックで上記HP画面のように簡単に開けました。 しかし、 他のプログラムソフトのフォルダ内のmdbファイル(テストコピー2010.mdb)を デスクトップに持ってきて、Excelにて、 上記HPと同じ方法で行ってみましたが、 画像のようになりました。 部分部分でもいいので、とりあえずExcelにて開いてみたいのですが、 画像から次へはどのように進めばよろしいでしょうか? (多分、画像内の1の右のタブを押して、仮のデータベースを作成し、  そこに、テストコピー2010.mdb を置けばよいかと思いますが、  どのようにすればよろしいでしょうか?) 何卒、ご教示お願い致します。

  • MDBファイルの共有が一方通行??

    Aceess2003にて在庫管理の.mdbファイルを作成しました。 2人で共有すれば十分なので、ネットワーク上のHDDにそのファイルを置いて共有をテストしてみました。 すると、片方のユーザ(PC)で開いているときは問題なく二人でファイルにアクセスできるのですが、 もう片方のユーザ(PC)が先に開いていると残りの一人のユーザはファイルを開く事ができませんでした。 分かりにくいかもしれませんので、以下に状況をまとめてみます。 ・mdbファイルを共有したいPCの台数は2台 ・各PCのユーザーアカウントは別々である(仮にA,Bとします) ・Aはデータベースの製作者である ・Aが共有HDD上のmdbファイルを先に開いているときにBは同じ共有HDD上のmdbファイルを開く事ができた ・同じように先にBがmdbファイルを開き、そのままAがファイルを開こうとすると、開く事ができない ・前項で開く事ができないときの状況は「無反応」であり、何らかのメッセージが表示される事はない ・状況の発生後、再びA→Bの順番ではmdbファイルを共有して開く事はできる 要するにBがファイルを先に開いてるときはAはファイルを開く事ができないということなのですが、逆ができる以上なぜそうなるのかが分かりません。 原因に心当たりがありましたら、是非教えて頂ければ助かります。 よろしくお願い致します。