• ベストアンサー

Accessでのデータ消滅について

いつもお世話になります。access2000+98seです。 Accessで文献のデータベースを作成中ですが、フォームから入力中に何かの拍子に苦心して入力した文献データが、一瞬にして消滅することがちょくちょくあります。escキーを間違って押したときとか・・・。 わたしの操作法が何か悪いのか、基本が分かっていないのか?とにかく、そのようなときはがっくり来ます。 原因や対策・修復法など、皆さんのお知恵をぜひ拝借したいのですがm(_ _)m Accessについては、ほとんど初心者です(^_^;) よろしくお願いします!

質問者が選んだベストアンサー

  • ベストアンサー
  • bonaron
  • ベストアンサー率64% (482/745)
回答No.6

>それから、データは雑誌の記事など大量のテキストデータで、一つのセル(?)当り10-20頁分くらいの分量があります。 メモ帳とか、他のソフトで1レコード分入力してから、 コピペするようにしたら?

prairie-gentian
質問者

お礼

>メモ帳とか、他のソフトで1レコード分入力してから、コピペするようにしたら? あっ!そうか!そう言えば昔はそんなやり方、私自身やってました。これ、やってみます。ついついズボラになって、フォームを開いたまま、貼り付けていたもんですから・・・。 ありがとうございました!

その他の回答 (6)

  • crossgate
  • ベストアンサー率65% (78/119)
回答No.7

該当フォームのプロパティで「キーボードイベント取得」に「はい」を設定して、該当フィールドのキークリック時イベントに以下のコードを埋め込んでおくと、とりあえずEscはキャンセルできます。 ---- 'クリックしたキーが「Esc」の場合 If KeyCode = vbKeyEscape Then 'キー入力を無効化 KeyCode = 0 End If --- まあ、ホントに元に戻したいときにEscできなくなりますけど。 > つまり、Accessの場合、「書きこまずに終了」ができないのではないかという気がするのですが・・・。 書き込まずに終了する場合は、Escして元に戻すか、mama mamaさんみたいにイベントをハンドリングするか、あとはフォームとテーブルを直結させないか、ぐらいじゃないですかね? 私は直結嫌いなんで、挿入クエリ or 裏でSQLタタイてます。 > 一レコード入力ごとにデータが保存されているようですから。 残念ながらそれがAccessの仕様です。 でも、場合によってはそれが有難かったりもします。 まぁ、時と場合と言うことで・・・

prairie-gentian
質問者

お礼

>私は直結嫌いなんで、挿入クエリ or 裏でSQLタタイてます 「裏でSQL」ってのは意味が分からないのですが、「挿入クエリ」というのは、分かりそうな気がしますので、調べてみます。ありがとうございました! >> 一レコード入力ごとにデータが保存されているようですから >残念ながらそれがAccessの仕様です ExcelやWordで、ついミスやっても、「元に戻る」で回復できますので、助かるんですが・・・。 いろいろお知恵をありがとうございます。

  • mama_mama
  • ベストアンサー率30% (129/429)
回答No.5

NO3です。 ACCESSのデフォルトは1レコード入力ごとにデータが保存です。   それがいやだったら、フォームのイベントプロシジャに「更新前処理」とかのプロシジャがあるので、そこに、「更新しますか?」とでも聞いて、NOならキャンセルするなり、必要なところだけ書き換えるロジックを組み込むといいと思います。   でも、いったい何をしたいのかよくわからないのですが? 入力したことを「ちゃら」にしたいときにESCキーを使うので、そのためでないのなら、ESCキーは押さないほうがいいと思います。

prairie-gentian
質問者

お礼

たびたびスミマセン・・・。 >ESCキーは押さないほうがいいと思います 押そうと思って押すのではなく、「半角・全角」の切り替え時につい指が行き過ぎて、押してしまうのです。 それから、データは雑誌の記事など大量のテキストデータで、一つのセル(?)当り10-20頁分くらいの分量があります。 手打ちとか、ocrソフトでテキスト化して入力しているのですが、ちょっとのことで消滅するのでイヤになっているところです。

noname#22222
noname#22222
回答No.4

ある程度入力したら {Shift}{Enter} を押します。 これで、{esc}キーを誤って押しても、その時点までに戻ります。

prairie-gentian
質問者

お礼

早速の回答、ありがとうございます。 >ある程度入力したら {Shift}{Enter} を押します これは試したことがありませんので、やってみます。また何かありましたら、よろしくお願いします。 取りいそぎ、御礼まで。

  • mama_mama
  • ベストアンサー率30% (129/429)
回答No.3

ESCキーを1回押すと、そのフィールドの入力内容が消えますが、2,3回押すと、入力していたレコードが全部消えます。   入力しなかったことにしているので、修復法、ありません。 途中で消えたらまずい、のでしたら、 ある程度入れたら、レコードを保存するようにしていくとよいと思います。 (フォームを終了したり、レコードを移動させると、レコードを保存します。)

prairie-gentian
質問者

お礼

早速の回答、ありがとうございます。 >ある程度入れたら、レコードを保存するようにしていくとよいと思います 逐次保存しているのですが、この症状(消滅)が発生したとき、ファイルを閉じて再度開くと、その保存したレコードが、すでに入力以前の状態でしかなくなっていますので、どうしようもありません。 つまり、Accessの場合、「書きこまずに終了」ができないのではないかという気がするのですが・・・。一レコード入力ごとにデータが保存されているようですから。

  • crossgate
  • ベストアンサー率65% (78/119)
回答No.2

フィールド編集中に「Esc」キーを押下した場合、カレント フィールドまたはカレント レコードの変更内容を元に戻す、という処理になります。 他にも色々ショートカットがあるので、Accessのヘルプで「ショートカット」をキーワードにして検索してください。

prairie-gentian
質問者

お礼

さっそくの回答、ありがとうございます。 >フィールド編集中に「Esc」キーを押下した場合、カレント フィールドまたはカレント レコードの変更内容を元に戻す、という処理になります どうも、「ESC」キーを押すと、そのレコードのフィールド全体がいきなり選択され、次になにかの操作をした際、消滅するようです。訳が解りません!

  • ysko614
  • ベストアンサー率31% (103/329)
回答No.1

基本的に入力したデータが消える事はないのですが、何をしているのか想像がつきませんね。 ただ、もし消えるようであれば、予めデータを他のファイルなどに置き換えてみるのはどうでしょうか? 一番軽いのはCSVとかテキストファイルですが、Excelとかにして吐き出しておけば、それを読む事ができます。 早く操作に慣れて下さいね。 ちなみにデータを吐き出す方法は、オブジェクト、テーブルの画面でテーブルを選択してから右クリックでエクスポートでファイル形式を任意のファイル形式にすればエクスポートできます。 頑張りましょう。

prairie-gentian
質問者

お礼

早速の回答、ありがとうございます。 >何をしているのか想像がつきませんね ExcelやWordは長く使っているので、大きなヘマをすることもないのですが、Accessは未熟状態です。

関連するQ&A

  • ACCESSのデータ入力

    access2000です。 本を読んでデータベースを作ろうとしているのですが テーブルで、入力したいフィールドの名称を登録して フォームで入力画面を作りました。 これでは フォームに入力したデータは左上にある▲みたいなものを押さないと登録されないようです。 フォーム上に大きなボタンでテーブルに登録したいです。 本には載っていないのですが どうすればいいのでしょうか?

  • Access、データ入力後、「ECS」キーで文字列消える

    Accessのテーブル等の画面で、データ(文字列)入力後、「ECS」キーを押すと、入力した文字列が消えてしまいます。 漢字変換後でも、半角アルファベットでも、ESCを押すと消えます。 テーブル、クエリー、フォーム、すべて同じ状況です。 WinXP+Access2003、WinXP+Access2000のPCが複数台ありますが、すべて同じ症状がでます。 同じ症状の方、いらっしゃいませんでしょうか。また、解決法があればアドバイスいただけると助かります。

  • アクセスからデータをエクスポート

    アクセスについて教えてください。 アクセスで作ったフォームに入力したデータをエクセルのフォームの指定されたセルに「転送」することは可能でしょうか? たとえば、経理関係ですが、発注支払データを管理するアクセスのデータベースから抽出した任意の入力済みデータを、エクセルで作成した「支払申請書」フォームに「転送」して出力し、管理者に提出して承認をもらう、といった場合に使いたいのです。 どなたか教えてください。

  • フォームから入力されたデータをアクセスに格納できる?

    htmlのフォームから入力されたデータをアクセスに格納することはできるでしょうか? それらのデータでデータベースを作りたいのですが。 よろしくお願いします。

  • Access フォーム

    Accessでデータベースを作成しようと思っています。データ入力のフォームを作成して、利用者がそのフォームに値を入力する形式にするつもりです。 ただ、利用者には入力のインターフェースだけを公開したいのですが、フォームを表示するとAccess自体が起動しするので、その気になればデータベースに対して全ての操作が可能になってしまいます。 Accessってこういうものなのでしょうか。

  • Access2000VBAでEscキーを禁止!

    Access2000VBAでEscキーを2回押すと入力していた内容が消えたんです。 なぜ?どうして?教えてください!ぜひお願いします。 出来れば「Esc」キーを禁止するにはどういった方法があるのか教えて ください。初歩的な質問ですみません・・・。

  • ACCESS 97のことでお聞きしたいことが。

    実は知人のACCESSのデータベースで相談されております。いままでフォームを使って入力していたものが更新できないと言うことでした。エラーメッセージの内容は「レコードを追加できません。テーブル”○○”の結合キーがレコードセットにありません」とでます。で、いろいろ調べてるうちに「○○」というテーブルそのものが消えてることに気がつきました。本人に問い合わせてみたところ、消した覚えはないそうです。で、じつはこのデータベースの過去の状態の物があったので見比べてみるとやっぱりあるはずのテーブル○○がないので更新できないと言うところまで行き着いたわけですが、過去の完全な状態の物があるなら過去のやつと今のやつをどうにかすれば簡単なんではと思ったわけですが、過去のDBに現在の差分を足すって出来ますでしょうか?それとも何かいい方法があれば教えていただきたいのですがよろしくお願いします。ちなみに現在のDBで、修復をかけてみましたが、復活なりませんでした。

  • アクセスでのデータ管理について(長文です。)

    アクセス初心者です。 これからデータの入力、管理、帳票をアクセスで構築しようと思っているのですが、アクセスはデータを入力した時点でデータが保存されてしまうので過去のデータが残りません。またデータの変更及び共有をうまくやりたいのですがよい方法がわかりません。 今回構築したいデータベースは、 1.過去の記録がすぐわかるようにしたい。(更新前のデータがわかるようにしたい。) 2.データの変更及び共有を簡略化したい。(A社で変更したデータをB社のデータベースにいれこみたい。) 【データベースの概略イメージ】  A社      B社 データベース1 データベース2(1と同じもの) テーブル1 → テーブル1 テーブル2 → テーブル2 テーブル3 → テーブル3 クエリ1    クエリ1 クエリ2    クエリ2 フォーム1   フォーム1 フォーム2   フォーム2 *リレーションあり *A社でテーブル1の内容を変更して、B社のテーブル1を新しいものに置き換えたい。 (本を読むとリレーションが崩れると書いてありました。) *B社で変更してA社に戻すこともある。 テーブル1 項目 ID 100 住所 あああ 氏名 △△様 電話番号 111-1111 *例えば、ID100のデータの氏名を変更するとき、変更前がどうだったかわかるようにしたい。(1月時点では△△様、2月時点では□□様とか) 誰かアクセスの操作方法に詳しい方がおられましたら、よい方法又はアクセスに関する詳しい本とかサイト等教えて下さい。よろしくお願いいたします。

  • アクセスでのエラーについて

    アクセス2000で作成したデータベースを「データベースの変換」を行ってアクセス2003で動かしているのですが、エラーが発生して対処しかねています。 アクセス2000の段階で、ファイルへのアクセスでエラー、というメッセージが出て 修復できず、今はデータベースの変換をしてアクセス2003で操作している状態です。 まずアクセスを起動すると、 "<フォーム名>を読み込み中にエラーが発生しました。プロジェクトの読み込みを続行しますか?" と聞いてきます。「はい」を選択するとその後は何も聞いてきません。 そして、フォームを開こうとすると "プロシージャの呼び出し、または引数が不正です"、や、 "イベントプロパティに指定した式 開く時 でエラーが発生しました。プロシージャの呼び出し、または引数が違います" といったメッセージが出て、フォームを開くことができません。また、 "データベースのVisual Basic for Applicationsプロジェクトが破損しています" というメッセージも出ました。 一気に書いてしまいましたが、どなたか分かる方がいらっしゃいましたら、解決策など教えていただけないでしょうか。 よろしくお願いします。

  • 複数のPCでアクセスのデータを使用したい

    複数のパソコンでアクセスのデータを開いて入力等をしたいのですが、2番目以降に開いたパソコンは読み取り専用になってしまいます。 データを連結にせず非連結で、その都度データベースに接続するようにすればいいと言われました。またフォームも追加フォームや抽出フォームなど細かく作成した方がよいとも言われましたがよく意味が分かりませんでした。 ACCESS2000を使用しています。 VBA初心者ですみませんがよろしくお願いします。

専門家に質問してみよう