- ベストアンサー
Accessでのデータ消滅について
いつもお世話になります。access2000+98seです。 Accessで文献のデータベースを作成中ですが、フォームから入力中に何かの拍子に苦心して入力した文献データが、一瞬にして消滅することがちょくちょくあります。escキーを間違って押したときとか・・・。 わたしの操作法が何か悪いのか、基本が分かっていないのか?とにかく、そのようなときはがっくり来ます。 原因や対策・修復法など、皆さんのお知恵をぜひ拝借したいのですがm(_ _)m Accessについては、ほとんど初心者です(^_^;) よろしくお願いします!
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
>それから、データは雑誌の記事など大量のテキストデータで、一つのセル(?)当り10-20頁分くらいの分量があります。 メモ帳とか、他のソフトで1レコード分入力してから、 コピペするようにしたら?
その他の回答 (6)
- crossgate
- ベストアンサー率65% (78/119)
該当フォームのプロパティで「キーボードイベント取得」に「はい」を設定して、該当フィールドのキークリック時イベントに以下のコードを埋め込んでおくと、とりあえずEscはキャンセルできます。 ---- 'クリックしたキーが「Esc」の場合 If KeyCode = vbKeyEscape Then 'キー入力を無効化 KeyCode = 0 End If --- まあ、ホントに元に戻したいときにEscできなくなりますけど。 > つまり、Accessの場合、「書きこまずに終了」ができないのではないかという気がするのですが・・・。 書き込まずに終了する場合は、Escして元に戻すか、mama mamaさんみたいにイベントをハンドリングするか、あとはフォームとテーブルを直結させないか、ぐらいじゃないですかね? 私は直結嫌いなんで、挿入クエリ or 裏でSQLタタイてます。 > 一レコード入力ごとにデータが保存されているようですから。 残念ながらそれがAccessの仕様です。 でも、場合によってはそれが有難かったりもします。 まぁ、時と場合と言うことで・・・
お礼
>私は直結嫌いなんで、挿入クエリ or 裏でSQLタタイてます 「裏でSQL」ってのは意味が分からないのですが、「挿入クエリ」というのは、分かりそうな気がしますので、調べてみます。ありがとうございました! >> 一レコード入力ごとにデータが保存されているようですから >残念ながらそれがAccessの仕様です ExcelやWordで、ついミスやっても、「元に戻る」で回復できますので、助かるんですが・・・。 いろいろお知恵をありがとうございます。
- mama_mama
- ベストアンサー率30% (129/429)
NO3です。 ACCESSのデフォルトは1レコード入力ごとにデータが保存です。 それがいやだったら、フォームのイベントプロシジャに「更新前処理」とかのプロシジャがあるので、そこに、「更新しますか?」とでも聞いて、NOならキャンセルするなり、必要なところだけ書き換えるロジックを組み込むといいと思います。 でも、いったい何をしたいのかよくわからないのですが? 入力したことを「ちゃら」にしたいときにESCキーを使うので、そのためでないのなら、ESCキーは押さないほうがいいと思います。
お礼
たびたびスミマセン・・・。 >ESCキーは押さないほうがいいと思います 押そうと思って押すのではなく、「半角・全角」の切り替え時につい指が行き過ぎて、押してしまうのです。 それから、データは雑誌の記事など大量のテキストデータで、一つのセル(?)当り10-20頁分くらいの分量があります。 手打ちとか、ocrソフトでテキスト化して入力しているのですが、ちょっとのことで消滅するのでイヤになっているところです。
ある程度入力したら {Shift}{Enter} を押します。 これで、{esc}キーを誤って押しても、その時点までに戻ります。
お礼
早速の回答、ありがとうございます。 >ある程度入力したら {Shift}{Enter} を押します これは試したことがありませんので、やってみます。また何かありましたら、よろしくお願いします。 取りいそぎ、御礼まで。
- mama_mama
- ベストアンサー率30% (129/429)
ESCキーを1回押すと、そのフィールドの入力内容が消えますが、2,3回押すと、入力していたレコードが全部消えます。 入力しなかったことにしているので、修復法、ありません。 途中で消えたらまずい、のでしたら、 ある程度入れたら、レコードを保存するようにしていくとよいと思います。 (フォームを終了したり、レコードを移動させると、レコードを保存します。)
お礼
早速の回答、ありがとうございます。 >ある程度入れたら、レコードを保存するようにしていくとよいと思います 逐次保存しているのですが、この症状(消滅)が発生したとき、ファイルを閉じて再度開くと、その保存したレコードが、すでに入力以前の状態でしかなくなっていますので、どうしようもありません。 つまり、Accessの場合、「書きこまずに終了」ができないのではないかという気がするのですが・・・。一レコード入力ごとにデータが保存されているようですから。
- crossgate
- ベストアンサー率65% (78/119)
フィールド編集中に「Esc」キーを押下した場合、カレント フィールドまたはカレント レコードの変更内容を元に戻す、という処理になります。 他にも色々ショートカットがあるので、Accessのヘルプで「ショートカット」をキーワードにして検索してください。
お礼
さっそくの回答、ありがとうございます。 >フィールド編集中に「Esc」キーを押下した場合、カレント フィールドまたはカレント レコードの変更内容を元に戻す、という処理になります どうも、「ESC」キーを押すと、そのレコードのフィールド全体がいきなり選択され、次になにかの操作をした際、消滅するようです。訳が解りません!
- ysko614
- ベストアンサー率31% (103/329)
基本的に入力したデータが消える事はないのですが、何をしているのか想像がつきませんね。 ただ、もし消えるようであれば、予めデータを他のファイルなどに置き換えてみるのはどうでしょうか? 一番軽いのはCSVとかテキストファイルですが、Excelとかにして吐き出しておけば、それを読む事ができます。 早く操作に慣れて下さいね。 ちなみにデータを吐き出す方法は、オブジェクト、テーブルの画面でテーブルを選択してから右クリックでエクスポートでファイル形式を任意のファイル形式にすればエクスポートできます。 頑張りましょう。
お礼
早速の回答、ありがとうございます。 >何をしているのか想像がつきませんね ExcelやWordは長く使っているので、大きなヘマをすることもないのですが、Accessは未熟状態です。
お礼
>メモ帳とか、他のソフトで1レコード分入力してから、コピペするようにしたら? あっ!そうか!そう言えば昔はそんなやり方、私自身やってました。これ、やってみます。ついついズボラになって、フォームを開いたまま、貼り付けていたもんですから・・・。 ありがとうございました!