• 締切済み

Microsoft Access エラー 3051

会社の売上げ伝票をMicrosoftAccessで作ったソフトを使っています。 消費税8%に変更する為、サーバーのアクセスファイルのデーターファイルのテーブルの数値を5%から8%に書き換えました。 すると県外の営業所からソフトを使用すると****(DB).mdbを開くか書き込むことができませんでした。とエラー3051となってしまいます。 エラーコード   :3051 エラーメッセージ ::ファイル '\\***.mdb' を開くか、書き込むことができませんでした。ほかのユーザーが排他的に開いているか、データ表示と書き込みを行う権限がありません。 今までは営業所からも普通に起動していました。 サーバーのアクセスファイルのデーターファイルのテーブルの数値を書き換えただけでこんなエラーがでるものなんでしょうか? サーバーが置いてある本社では普通にソフトの使用も可能です。営業所からのみがエラーを排出します。 本社サーバーはWinXP Access2000 営業所 Win7 Access2007 サーバーへ繋ぐのは「どこでもLAN」を使用してます。 本社サーバーのアクセスファイルのデーターファイルのアクセス権限を見れば解決するでしょうか? アクセスファイルのデーターファイルの数値を変更しただけで権限が変わってしまうものなのでしょうか? 難しい事はまったくわからないので原因と救済方法を簡単に教えて下さい。 伝票ソフトを作成した会社はもうありません。 本当は消費税のテーブルをレ点チェックではなく、5%・8%・10%と選べるようにした方が今後の対応にはなると思うのですがなるべくお金をかけたくなかったもので・・・・ よろしくお願い致します。

みんなの回答

回答No.2

本社がAccess2000なら、これかも? Access ファイルを最適化すると NTFS アクセス許可がリセットされる http://support.microsoft.com/default.aspx?scid=kb;ja;JP295234 (確かAccess2000では修正されなかったような?かすかな記憶です。間違いかも) なので >本社サーバーのアクセスファイルのデーターファイルのアクセス権限を見れば解決するでしょうか? 解決するかもしれません。 実際に診てみないことには何とも言えませんけど。 あと、 >テーブルの数値を5%から8%に書き換えました。 で過去のデータも反映されてしまった・・とか 消費税率変更前後での赤伝処理(購入時5%、返品時8%になってしまう)は 大丈夫なんでしょうかね?

norizo-777
質問者

お礼

ご返答ありがとうございます。 本社は関西圏で私は九州です。本社の人間はすべてアナログ人間ばかりでリモートすら対応できないレベルなのでお恥ずかしいです。 教えて頂いたサポートを読んでこれのような気がします。 本社PCの対応は私が出張で行くか電話指示でやってみます。 出来ない時は本社近辺で今後のアフターが出来る業者を探すように指示を出しました。 私個人はAccessは簡単なデータベースぐらいは構築した事があるので理屈は少しわかっているつもりです。 原因はソフトのリレーションが壊れたとかそんなのではないと確信していたのでこんな質問を致しました。 年度末で多忙な時期ですので不安だったので、とてもわかりやすい返答に少し安心しました。 後はなんとかやってみます。 消費税導入前のデータは3/31で伝票をしめた時点で外にBackupして残すようにします。 赤伝処理があったとしても少しなので臨機応変に税理士と相談して対応致します。 最悪は紙バイタルで残せるので^^; 気が楽になりました。 ありがとうございました。

  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.1

>>サーバーのアクセスファイルのデーターファイルのテーブルの数値を書き換えただけでこんなエラーがでるものなんでしょうか? 質問者さんがごらんになったとおりですよ。素人が勝手に「こうなるだろう」と思っても現実は、しばしば外れるものです。 >>難しい事はまったくわからないので原因と救済方法を簡単に教えて下さい。 伝票ソフトを作成した会社はもうありません。 詳しい事が分からない人がいじってはまずいでしょう。 下手にいじると、トラブルになる部分ですので、分かっている方でも、簡単な対応はできないかもしれません。 とりあえず、質問者さんが責任者なら、アクセスに詳しい方を探して、その方にどうするのがいいか、検討をお願いしましょう。 場合によっては、「ソフト買い替えですね」という回答になるかもしれません。 >>本当は消費税のテーブルをレ点チェックではなく、5%・8%・10%と選べるようにした方が今後の対応にはなると思うのですがなるべくお金をかけたくなかったもので・・ その対応を怠ると、あとで余計な手間が発生すると思います。

関連するQ&A

  • Microsoft Accessのデータが、別々のmdbファイルとして

    Microsoft Accessのデータが、別々のmdbファイルとして2つあります。Accessを持っていないので、OpenOfficeで開いています。このmdbファイルにあるテーブルをまとめてOpenOfficのBaseで開くことはできないでしょうか? 具体的には、Microsoft Accessのデータ、「aaa.mdb」「bbb.mdb」というファイルがあります。 「既存のデータベースに接続」>「Microsoft Access」で、「aaa.mdb」や「bbb.mdb」に、個別に接続して新規データベースを作成することはできたのですが、どちらのmdbファイル内にあるテーブルも参照してクエリを作りたいんです・・・。 また、過去に無理矢理「bbb.mdb」のテーブルをCtrl+c>Ctrl+vで「aaa.mdb」にコピー&ペーストしていたこともありましたが、今回はテーブルサイズが大きいせいか、エラーになります(メッセージ:エラーが発生しました。コピー処理を続行しますか)。 データベースに関する基礎知識が足りないので、そもそもそれができるかどうかも分かりません。 Webで検索しても参考になるサイトを見つけられませんでした。 よろしくお願いいたします。

  • ファイルサーバ上にあるAccessが開けません

    初めて質問させて頂きます。 Windows server2003で、ファイルサーバ上にあるAccessファイルを開けなくて困っています。 Windows server2003をWebサーバに設定をしているところです。 作成したWebサイトから、ファイルサーバ上にあるAccessのデータを見たいのですが、 「ファイル '\\Nas3\users\DB.mdb' を開くことができませんでした。ほかのユーザーが排他的に開いているか、データを読み取る権限がありません。」 とエラーが出てしまいます。 原因を調査していたら、そもそもWindows serverから該当のAccessファイルを開けないことがわかりました。 ファイルサーバ上のAccessを開こうとすると、以下のエラーが出てしまいます。 「指定されたデバイス、パス、またはファイルにアクセスできません。 アクセス許可がない可能性があります。」 開けないのは、Accessファイルのみで、ファイルサーバ上にあるExcel等の他のファイルは開けますし、編集もできます。 Windows server上にAccessファイルをコピーすると開くことができますが、 作成したWebサイトから開こうとすると、テーブルのリンクが貼ってあるためか、上記のエラーになってしまいます。 Accessは2000を使用しています。 インターネット等で2日間くらい調べていますが、どうしたらいいのかわかりません。 どなたかご教授お願いします。

  • ACCESS DB削除について(読み取り専用)

    サーバーのACCESSのMDBファイル(TEST.mdb)を使用して、開発を行っていますが、今までTEST.mdbにアクセス出来ていたのに、今日急にいつものように、アクセス したら、下記エラーが出て開くことは出来てもエクスポートとかテーブルにデータを追加したりすることが出来なくなりました。 「TEST.mdbは、読み取り専用です。」 どうやら、前日他の人が何かしたみたいなのですが、(帰る前にバックアップを 取っておいてあったので、それを戻すと書き込み出来る) しかし、その読み取り専用エラーが出るTEST.mdbのプロパティーを見ると、読み取りには、チェックが付いていません。原因は何が考えられるのでしょうか? バックアップ取ってあったので、リカバリーすれば元のように使えるようには なりますが、又今後このような事があった時、対処出来る様にしたいので、教えてください。

  • ACCESS2000ディスクまたはネットワークのエラー(Error 3043)

    4台のパソコンでアクセスデータを共有し、参照ならびにデータの書き込み等に使っています。当初はエラーなく快適でしたが最近 質問タイトルの「ディスクまたはネットワークのエラー(Error 3043)」が頻繁にでます。当然このエラーはクライアントのパソコンで発生します。環境としては4台ともOSはWin-Me mdbはデータ(テーブル)とアプリを分けており、クライアント(3台)のパソコンにはアプリだけのmdbでデータの部分はサーバーのパソコンからリンクテーブルでもってきてます。サーバーパソコンの能力不足でしょうか?メモリーは64mbに128mbを増設しました。CPUはCeleron 700です。1つ気になる事としてインターネットに接続できる環境にしてからこのエラーが頻繁にでます。解決のヒントでも結構ですので回答ください。

  • Access2000の追加クエリ(INSERT句)について

    Access2000で作成したmdbファイルAから他のmdbファイルBにあるテーブルデータを取得して、mdbファイルAのテーブルにこのデータを追加する構文として、 DoCmd.RunSQL "INSERT INTO テーブル1 SELECT * FROM テーブル2 IN ""Z:\mdbファイルB.mdb""", -1 を記述して使用していますが、mdbファイルB.mdbにデータベースパスワードを設定すると、「実行時エラー・パスワードが正しくありません」のエラーが発生します。 接続先のmdbファイルBにパスワードを設定した状態で使用したいのですが、何かよい解決策はないでしょうか? なお、上記のとおりパスワードを設定した状態でテーブルにデータを追加できさえすればどんな方法でもかまいませんのでご教授願えないでしょうか。 よろしくお願いします。

  • 壊れてしまったアクセスファイルの修復

    あるMDBファイルを開こうとしたら次のようなメッセージが出て、開けなくなっています。 「'MSysModules2'の読み取り権限がないため、レコードを読み取ることができません。」 このファイルにはもともと読み取り権限の設定はしていないそうで、昨日までは普通に開いたということです。 「アプリケーションから開く」にして、エクセル・ワード・テキスト等いろいろ試してみたのですが、字化けしてしまいました。 新しいMDBファイルからインポートもしくはテーブルのリンクもしてみましたが、 「インポート、エクスポート、またはリンクする権限がありません。 このオブジェクトをインポート、エクスポート、またはリンクするには、このオブジェクトの[構造の読み取り]および[データの読み取り]権限が必要です。」 というメッセージが出てきて失敗しました。 あとはどのような方法がありますでしょうか? 中のデータを取り出せれば、ファイル形式は何でも構わないということです。 アクセスは初心者なもので、これ以上の方法を思いつきませんでした。 ご存知の方、よろしくお願いします。 使用しているのは、Windows98、Access97です。

  • [AC2000]SQLで追加若しくは更新する考え方

    会社で店舗毎での勤怠管理のソフトの作成を指示されたのですが、 各店舗はVPN(GA)でネットワーク化されており、本社にファイルサーバーがあります。 しかし、会社のデータベースソフトはAccess2000しか無いので、本社のサーバーにデータ用のMDBを置き、各店舗には入力用のMDBを置き、本社では管理用のMDBを置こうと思います。 本題なのですが、リンクテーブルを使用すると当然重く、同時に各店舗から入力するのが困難なので、SQL(INSERT INTOとUPDATE)で制御しようとしたのですが、データがあったら更新、無ければ追加する、の様な条件制御をSQLで出来るのでしょうか? ADOでやれば出来るのですが、スキルアップの為悩んでいます。 考え方をご教授頂ければ、後は作成中のMDBに応用させて見たいと思いますので、宜しくお願いします。

  • MS Accessを共有した際にファイルが壊れるのを回避する方法

    ちょっとしたツールをAccessで開発したいのですが、 Accessファイルを共有するとファイルが頻繁に壊れると伺いました。 そこで以下のような回避策を考えてみたのですが、 効果はありますでしょうか。 これでは、あまり意味がないとか、他に注意したほうが良い点等ありましたら、アドバイスいただければと思います。 なお、ツールは、50名位が使用(同時アクセスは3名~4名程度)予定で、 サーバ上にメインのmdbファイル(以下「サーバmdb」)を、各クライアントにもそれと連携するmdbファイル(以下「クライアントmdb」)を置くことを想定しています。 (1) データは全てサーバmdbで保持する。クライアントmdbには、入力用のフォームと、サーバmdbから取得したデータを一時的に保持するテンポラリのテーブルを持つ。 (2) クライアントmdbからサーバmdbにアクセスし、必要なデータをクライアントmdbにインポートする。 (3) クライアントmdbで、取り込んでデータをもとに、データの追加・修正を行い、当該データをサーバの所定のディレクトリにCSVで出力する (4) サーバmdbは、日次で、所定のディレクトに配置された、クライアントmdbから出力されたファイルを読み込み、データを更新する (5) (4)の読込み・更新作業中は、クライアントmdbからサーバmdbにはアクセスしない(外部ファイルで制御) 以上です。 要は、クライアントmdbが、直接サーバmdbを更新しないようにし、参照のみにするということです。 よろしくお願いします。

  • アクセス2007でのインポートエラー「カレントレコードがありません」に

    アクセス2007でのインポートエラー「カレントレコードがありません」について。 データをインポートしようとすると「カレントレコードがありません」と表示され、インポートできません。同時に作成されるインポートエラーテーブルを確認すると「型変換エラー」が原因のようです。 インポート先のファイル(名簿.accdb)は、従前使用していたアクセス2003のファイル(名簿.mdb)を2007対応にしたものです。(各オブジェクトの構成や保有データは同一) 試しに、同じテキストデータをアクセス2003ファイル(名簿.mdb)にインポートしたところ、正常に完了しました。 アクセス2003の入ったパソコンが廃棄予定であり、今後はアクセス2007ファイル(名簿.accdb)を使いたいのですが、非常に困っています。原因と対処法を教えてください。 ※インポートする元データはエクセルマクロ有効ブック(.xlsm)のため、コピーしてテキスト形式で保存しなおしています。

  • Access起動中にエクセルからADOでデータの更新ができない

    こんばんは。原因がわからないので質問させてください。 SQLサーバーのデータをAccessのmdbへリンクテーブルしています。 (SQLサーバー → Access) 全て一つのパソコンで行なっています。(LANには接続していません) Accessのmdbファイルを起動している時に ExcelからSQLサーバーのAccessにリンクしている上記のテーブルへ ADOを使ってデータを追加しています。 (Excel → Access)  しかし、「rs.Update」の部分で  「ODBC--リンク テーブル'テーブル1'での更新に失敗しました。」 となってしまいます。 なので、一度mdbファイルを落として、コードを再開すると通るので ADOでExcel → Accessにデータを追加し終わってから再度mdbファイルを立ち上げています。 また同じ状態(mdbファイルを起動)で Excel → SQLサーバー へ更新クエリをしようとすると「時間切れになりました」となります。 (こちらもmdbファイルを落とすと再開できます。) いちいちmdbファイルを落とすのめんどうなのですが 回避する方法はありますか? cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "C:\Users\Documents.test.mdb" rs.Open "テーブル", cn, adOpenStatic, adLockPessimistic rs("フィールド") = True rs.Update '保存 rs.Close: Set rs = Nothing というコードを書いています。 Accessを落とせば正常に動きます。 ご教授よろしくお願い致します。

専門家に質問してみよう