• 締切済み

Access2003 フォーム入力中に入力内容が消えてしまう

現在、仕事でAccess2003を使用しているのですが、Accessのフォームに文字を入力していくと、一定時間経過すると、当該入力内容が消えてしまう不具合が発生します。もちろん、テーブルデータには残っているのですが、どうにかならないのものでしょうか? 非常に困っています教えてください! 現在の使用環境をまとめます。 ・Access2003を使用し、苦情処理内容等をフォームに書き込み、苦情内容が蓄積していくようなデータベースを構築し運用している。 ・Access2003ファイルを同時に6人で共有して使用している。 ・フォームの構成は、フォームの中でコンボボックスを使用しており、コンボボックスが、例えば、都道府県区分を「東京」と選択すると、地区区分という関東か、東北か、などの区分が自動的に「関東」となるようにクエリを使用している。 ・フォームは、サブフォームとして選択クエリを使用して、苦情内容の期間、相談者名を親フォームを使用して、検索が可能な状態にしてある。 ・親フォームには、入力した内容を印刷できるように、入力データを印刷できるボタンを設置してある。 ・各苦情受付担当者が、当該Access2003で、入力フォームで苦情内容等を入力し、30分ぐらい経つと、自動的に文字が反転し、時計マークがでて来て、入力内容がそっくり消えてしまう。 おそらく、Access2003を複数人で同時に扱っているため、フォームに入力した内容が30分程度経つと消えてしまうのか? 若しくは、フォームの作り方に問題があるのか?(フォーム、サブフォームを作成し、入力はサブフォームに入力することとしている。当該サブフォーム中にはマクロでクエリをいくつか使っている状況。) 又は、システム上のバグの問題なのかわかりません。 もしわかる方、若しくは、少しでも手がかりがわかる方がいらしゃったら是非教えてください。なんでも結構です。 お願いいたします。

みんなの回答

回答No.1

Accessで[ツール]→[オプション]→[詳細]を開くと、「ODBCの再表示間隔」という 項目があります。 この項目のデフォルト値が1500秒(=25分)だったので、それっぽいですよね。 ただ、なぜ「ODBCの再表示」で入力フォームの内容が消えてしまうのか? についてはわかりません。 (ファイル共有が原因というのはほぼ間違いないと思います。) >入力フォームで苦情内容等を入力し、30分ぐらい経つと、... と書かれていましたが、 ・フォームに表示されているものはすでに追加されたレコードでそれの編集を  行っている場合なのか、それとも追加するための内容を書いている途中なのか? ・フォームの内容が消えてしまった場合、参照元のテーブルは追加・更新されて  いるのか? ・30分間フォームを放置していたらということなのか? ・30分の間に、他のユーザがフォームの参照元であるテーブルに追加・更新・  削除を行っているのか? といったことを疑問に思いました。 もし、「ODBCの再表示」が原因であれば、 http://www.nurs.or.jp/~ppoy/access/access/acF007.html のように、Me.Requery を実行することで防げるのかもしれません。 (VBAでRequeryを定期的に実行することも可能でしょう。) 当方でも(WinXP2台とAccess2000で)フォームの内容が消えるという現象の再現を 試みたのですが、うまくいっていません。 参考になりましたら幸いです。

nori_2006
質問者

補足

・フォームに表示されているものはすでに追加されたレコードでそれの編集を行っている場合なのか、それとも追加するための内容を書いている途中なのか? ⇒追加するための内容を書いている途中です。試しに、Accessのフォーム入力画面を開けたままの状態にして20分ぐらい経ったら、やっぱり、文字が反転して、砂時計が出た後、消えてしまいました。 もちろん消えた内容は、しっかりとテーブルに残されているので、フォームで呼び出すことは可能なのですが、入力者は、びっくりしてしまうという状況にあります。 ・フォームの内容が消えてしまった場合、参照元のテーブルは追加・更新されているのか? ⇒フォームの内容が消えてしまった場合は、参照元のテーブルは、ちゃんと追加、更新されています。なので、問題ないのですが、ウチの会社では、入力者の多数が高齢者ということもあり、「入力内容がいきなり消えてしまうと心臓に悪い!」と怒られています。どうにかしてあげたいのですがね。 ・30分間フォームを放置していたらということなのか? ⇒放置していても消えてしまいます。何故なのかはわかりません。試しにODBCの項目を変えたら、消えなくなったような「気がする」のですが、イマイチ原因が特定できません。 ・30分の間に、他のユーザがフォームの参照元であるテーブルに追加・更新・削除を行っているのか? ⇒30分の間に、他のユーザは、参照元のテーブルに追加、更新を行っています。常に数人が入力している状態です。(削除はしません。) もし、「ODBCの再表示」が原因であれば、 ​http://www.nurs.or.jp/~ppoy/access/access/acF007.html​ のように、Me.Requery を実行することで防げるのかもしれません。 (VBAでRequeryを定期的に実行することも可能でしょう。) 当方でも(WinXP2台とAccess2000で)フォームの内容が消えるという現象の再現を試みたのですが、うまくいっていません。 ⇒わざわざありがとうございました。本当に感謝です。恐らく、数人のユーザが同時に同じフォームを取り扱うという作業をしないとだめなのだと思います。共有ユーザの問題のような気がしますが…。イマイチわかりません。とりあえず、Me.Requery を実行して、 ODBCの項目を変更することで対応してみようかと思います。

関連するQ&A

  • ACCESS コンボボックスで選択した項目の内容をクエリで抽出

    今フォームの中にサブフォーム(クエリ)を入れようと思っているのですが、なかなかできません。 ・フォームを開く ・フォームのコンボボックスでテーブルの内容を選択 ・その内容をクエリで検索し抽出 ・そのクエリをサブフォームに表示

  • Accessフォーム

    Access初心者です。 Accessのフォーム上で、 [都道府県]のコンボボックスで東京都を選んだ場合、 [市区町村]のコンボボックスには「東京都」の市区町村名が選択できるようにしました。 フォームでの入力はきちんと出来るのですが、新しいレコードに入力すると、 前のレコードに入力した項目が消えてしまいます。 (テーブル上には、入力した情報が残っています) 色々試してみましたが、どうしても出来ません。 いったいどうしたらよいのでしょうか。ほとほと困っています。 どうかご教示ください。お願いいたします。

  • access2007でのサブフォームへの入力

    仕入入力画面なんですが メインフォーム(仕入伝票テーブル)サブフォーム(仕入伝票明細テーブル) という構成です。 メインフォームで 仕入先をコンボボックスで指定すると サブフォームの 商品を入力するコンボボックスに メインフォームで選択した仕入先で購入できる商品が選べるように したいのですが、どうすればよろしいでしょうか? メインフォームの仕入先コンボボックスを選択する度に サブフォームの商品コンボボックスで選択できる内容を反映させたい です。 仕入先A : 商品1 商品2 仕入先B : 商品3 商品4 商品5 仕入先C : 商品6 商品7 商品8 商品9 メインフォームで仕入先コンボボックスで仕入先Aを選択すると サブフォームで選択できる商品コンボボックスは商品1と商品2 メインフォームで仕入先コンボボックスで仕入先Bを選択すると サブフォームで選択できる商品コンボボックスは商品3と商品4と商品5 というようなイメージで作りたいです。 どうかよろしくお願いします。

  • Accessのフォームについて教えてください。

    Accessのフォームについて教えてください。 フォーム上にコンボボックスやサブフォームを作っています。データを更新するとコンボボックスやサブフォームのデータを更新してほしいのですが更新しません。 いろいろやってみてコードビルダでイベントごとにSendKeys "{F9}" とすると更新するようになったのですが、それでも時々更新しないときがあります。 完全に更新できるようにしたいんですが、理由もわからないので難儀してます。こんな現象ご存知であればご教示ください。 よろしくおねがいします。

  • アクセスのコンボボックスの内容が消えてしまいます

    入力フォームでサブフォームを作り、そこに設置したコンボボックスA,Bという2つの連鎖したコンボボックスがあります。 1つ目(1行目)を入力すると正常に動くのですが、2つ目のレコードに進み同様に入力していくと、1つ目のコンボボックスBの内容が消えて、2つ目のコンボボックスBが正常に表示します。 どうすればレコードが複数進んでも、コンボボックスBの内容が消えないようにできるのでしょうか?

  • access,フォームで最新のコンボ内容が反映不可

    フォーム入力時、顧客や商品データが無い場合、フォームを開いたままで、そのテーブルを開き、顧客や商品データを入力、閉じます。 フォームでは、顧客や商品データはコンボボックスで選ぶ用にしていますが、それにテーブルに新たに入力したそのデータが出てきません。 フィールド→更新、やフォームを閉じ開きすれば、現れます。 これを、例えばボタンを作成し、テーブルにデータ追加後、ワンクリックで、フォームのコンボボックスに新入力データを反映させるにはどうすれば良いのでしょうか(SQLの方が良いか?)。 また、フォームのコンボボックスのデータは、フォームを開いた時のテーブルやクエリのデータそのままで、コンボボックス選択時に再読み込みなどはしないのでしょうか? 正確にはコンボボックスのデータは順の関係でクエリで整順させたものです。 access2000でwindows2000です。 宜しくお願いいたします。

  • access 入力フォームへの表示

    初歩的な質問で申し訳ありません。 accessで商品マスタへの入力フォームを作成しました。 商品マスタテーブルから作成しました。 新規入力ボタン、登録ボタンを作成して、ボタンクリック時にのみ 新しいレコードへの移動、テーブルへのデータ更新を実行するようにしました。 この段階で、できれば入力フォーム上でコンボボックスなどを利用して検索を行い、 選択データをフォーム上に表示させたいと思いました。 ところがまったく知恵が働かず、どうしてよいのやら途方にくれています。 検索フォームを別途設けてもよいのですが、商品数が200たらずで、 今はコンボボックスで十分かなと思っています。 商品マスタにはカタカナ二文字の「検索キー」フィールドを設けており、 これをキーにしてクエリ(「Q商品検索」)で昇順に並べ、コンボボックスのコントロールソースを そのクエリにしました。 コンボボックスの更新後の処理イベントでマクロを使い、 「フォームを開く」にしてみましたが、その他の条件のつけ方がわかりません。 まったく的外れなことをしているのかもしれません・・・。 本やネットの質問過去ログで探してはみましたが、皆さん先を進んでおられて、窮してしまっています・・・。 このような状態でaccessを触るな!とお叱りを受けそうですが、 どうかお助け下さい。 よろしくお願いします。

  • フォームで入力しても反映されない

    ACCESSでフォームに入力しても元クエリに反映されない原因は何が考えられますか?コンボボックスからデータを入力しているのですが・・・。あと、選択クエリの更新結果が1件も表示されないのはリレーションシップの設定がまずいからでしょうか??

  • Accessで家計簿を作っているのですが・・・(再

    いつもおせわになっております。 現在、Accessで家計簿なるものを作っているのですが・・・ まずマスタテーブルから入力データが存在する日付をクエリで抽出し、それをフォームのテキストボックス1のコントロールソースに指定して、そのテキストボックス1に表示されている日付を元にフィルタ機能を使ってその日に入力されたデータ一覧をサブフォームで表示するという方式を取っているのですが・・・(解かり難くてすみません この方式だとクエリのレコードを移動するとサブフォームの表示内容も対応してその日のが抽出されます。 しかし、データがたくさん蓄積されてくると一日ずつ(1レコードずつ)移動すると手間がかかってイライラしそうです。 で、同じフォームにコンボボックス1を追加し、上記にもあるマスタテーブルから入力されている日付を抜き出した日付一覧を取得してあるクエリを値集合ソースに指定してみました。 クリック時のイベント等もちゃんと設定したのですが、うまく動作してくれません。 コンボボックス1をクリックして選択したら、クエリをコントロールソースとするテキストボックス1の表示内容がコンボボックス1で選択されたものに変更される、みたいなことって出来ないのでしょうか? コンボボックス1だけにしてテキストボックス1を消すとコンボボックス1で選択した日付の内容をサブフォームで表示することは出来たのですが、それだとコマンドボタンを押して次のフィールドに移動し、かつコンボボックス1の表示内容も自動変更というのが出来なかったので・・・ 長文でスミマセンが、どなたかお知恵の拝借お願いします。

  • ACCESSで、メインフォームとサブフォームがあるとき・・・

    Accessで、メインフォームとサブフォームがあり、メ インフォームのテキストボックスで期間を指定し、再 クエリを行うマクロボタンでサブフォーム上に期間指 定したデータのみが表示されるようにしています。 また、Access起動時に開くフォームがあり、そのフォ ームに、先ほど上述したメインフォームが開くマクロ ボタンを作成したところ、パラメータの入力画面が出 てきてしまいました。 恐らく、サブフォームの抽出用のクエリに設定してあ るものだと思いますが、これが表示されないようにす ることは出来ないのでしょうか?

専門家に質問してみよう