• ベストアンサー

Access「レコードの保存」

Access2003を使用しています。 Accessではレコード関して「保存をする」と言う概念がないと思うのですが、メニューバーの《レコード》の中に「レコードの保存」と言う項目があります。このメニューの有効的な使い方はどんな時にあるのでしょうか?

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

  • ベストアンサー
  • nackfive
  • ベストアンサー率32% (21/64)
回答No.4

>「次のレコードに移動しないで保存したいというような時」 このような 状況は カード型のフォーム画面などでよくあります。 入力をして 保存するまでの間は 入力をキャンセル出来るようにする為に 逆に データを確定させる意味で 保存するということになります。 新規レコードの場合はその恩恵は受けにくいですが 既存のレコードで かつ 項目数が多いレコードの場合で 半分以上変更したとします その上で そのレコードを 元に戻したい(入力を取消)時に ESCキーを押すか VBAで Undoを実行すれば 元に戻せます 通常は レコードを移動してしまえば 暗黙の保存になりますので 意識する必要がありませんが 逆にEnterキーを押すたびに データが保存されてしまうと 不便になってしまいますよね? その為に [保存する]というメニューが必要なんです。 ちなみに、保存するまでの間は レコードがロックされていますので ネットワークなどで 共有する場合は 参照も出来ません。

picopico_7
質問者

お礼

お礼が遅くなりまして大変失礼致しました。 とても分かりやすく、参考になりました。納得です。 どうもありがとうございましたm(_ _)m

その他の回答 (3)

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.3

入力後すぐ(フォームを閉じずに)次の操作に移りたいときです 入力したレコードをカレントレコードにしたいときには 次のレコードに行って戻ってくるというのも面倒ですよね

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.2

>Accessではレコード関して「保存をする」と言う概念がないと思うのですが これはとんでもない間違いですよ データベースですからデータを保存することがメインです 他のアプリと異なる点はメモリ上で作業して 作業終了後に保存するというような作業形態を取らないという点です Accessでは1レコード毎にどんどん保存していきます 保存されるタイミングは ・次のレコードに移動するとき ・フォームやAccessを閉じるとき ・保存コマンドを発行したとき メニューの保存は上記の3番目の1つです 次のレコードに移動しないで保存したいというような時に使います

picopico_7
質問者

補足

回答ありがとうございます。 私の書き方にちょっと語弊がありましたね。 1レコード毎に保存されているのは認識しています。 ただ、「次のレコードに移動しないで保存したいというような時」と言うのが 具体的にイメージがわきません。次のレコードに移動しなくてもフォームを閉じれば保存されるし。 次のレコードに移動しないで保存しておく状況とはどんな時でしょう?

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

テーブル/クエリでは入力中のレコードを確定させるボタンですが 同じテーブルの別のレコードへ移っても同様の処理が実行されるので あまり使う人はいないと思いますけど... フォームの場合は、更新前・更新後イベントを発生させることで 確認ボタンとして使う方法があります。 例 保存ボタンを押すと 「本当に保存しますか? [OK] [CANCEL]」というメッセージで OKなら保存、CANCELなら取り消しで保存しない。

関連するQ&A

  • Accessでレコードの保存をVBAで

    Access2000です。 入力するとすぐに集計をしたいのですが、 フォームフッターの集計用テキストボックス (=sum([フィールド名])が設定されている) は、レコードを保存しないと、再計算されないようです。 そこで、入力して、フォーカスを喪失するときに DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 を実行して、レコードを保存しているのですが、 デバッグのとき、エラーが発生しますし、 (デバッグ中は、VBAエディタが表示されるため) また、メニューの実行のコマンドは物足りないので、 指定したフォームのレコードを保存する方法は、 他にないでしょうか? よろしくお願いいたします。

  • Access を×ボタンで閉じる時、レコード保存したくない。

    Accessで最後の1レコード分のデータ入力を行ってから、レコードの更新をせず、レコードを移動せず、更新ボタンも押さず、いきなりフォームを閉じると、この1レコードが保存されてしまいます。 Me.Undo DoCmd.GoToRecord , , acNewRec を読込み解除時のイベントに入れても、しっかり保存されてしまいます。 閉じる時のイベントに入れるとエラーが出て保存されます。 ×ボタンで閉じる時、入力途中のレコードを保存せずに閉じるにはどうしたら良いでしょう。 初心者ですので、何か簡単で良い方法がありましたら、ご教授願います。

  • アクセス 起動時の表示

    アクセス2002SP3を使用しています。起動時に自動的にメインメニュー(フォーム)を表示するようにしていますが、今回、「ツール」→「起動時の設定」 の中で、メニューバーの項目の「すべてのメニューを表示する」のチェックをはずしたら、起動後にメニューバーの「ツール」という項目がなくなって、編集できなくなってしまいました。どうしたら元のチェックの入った状態に戻せるのですか? 困っています。よろしくお願いします。

  • ACCESS2002、レコードのインポートができません!

    初心者です、よろしくお願いします。 ■ 仕様環境 WinXP Access2002 アクセス2002で顧客管理システムを作ってます。 アクセスAのテーブルにアクセスBのテーブルをインポートする時、 レコードだけインポートできないのでしょうか? どうしても違うテーブルが作られてしまいます。 例えば・・ アクセスAに「住所」という項目があり、そこには既にレコードが 何件か入っているのですが、そこにアクセスBの「住所」のレコードを追加したいのですが、 うまくいきません。そういう機能はついていないのでしょうか? また、アクセスBの情報をエクセルファイルに変えて「次のテーブルに保存する」で インポートしたのですが、最後の「完了」ボタンを押すと「エラーが発生し、 インポートできませんでした」という表示がでてインポートできません。 同じように電話番号や名前、メールアドレス等もアクセスAに追加したいのですが、 一つ解決しないと先に進まない気がするのでとりあえず住所だけにしぼってみました。 データを”追加”するような感じでしたいのです! 誰かお知恵を貸してください!

  • レコードを保存するコード アクセスvba

    アクセスですが DoCmd.Save acForm, Me.Name このコードはフォームを保存するコードですよね? フォームではなく、レコードを保存するコードはありますか?

  • Accessでレコードの保存をせずにフォームを閉じたい

    Accessでデータベースのレコード追加を行うフォームを作成しています。 コマンドボタン(1)をクリック→新しいレコードの追加 コマンドボタン(2)をクリック→フォームを閉じる としています。(ウィザードを使用して、埋め込みマクロ?を設定しています。) コマンドボタン(1)でレコードが追加されるのは問題ないのですが、 コマンドボタン(2)をクリックした場合も、レコードが追加されていることに気がつきました。 一般的に入力する人は、 データを追加しようと思って入力していたけれど、 途中でやめてフォームを閉じることってありますよね? そういう場合にレコードが追加されてしまったら問題だと思ったのです。 ですが、どうしたらレコードの追加をせずにフォームを閉じられるかがわかりません。 それって可能でしょうか? Access初心者です。難しいVBAとかはまだよくわかりません。 何か方法、アドバイス等ありましたら よろしくお願いします。

  • ACCESSで、1レコードずつPDF保存できますか

    ACCESS2010で初めてDBを作成しています。 DBは完成、レポートも完成したのですが、1レコードずつPDFにする方法がわかりません。 とりあえずレポートを開き、レコードを送りながら完全手作業でPDF保存しました。 これを自動で行う方法はありますか? 作成したいレポートは氏名で紐づく評価シートで、氏名マスタには個別IDも振付けています。 IDは現在60程度ですが、今後毎年増えていく予定です。 できればPDFを保存する際、氏名で保存したいのですが… いろいろ調べましたが、応用力がないこともありどうしてもうまくいきません。 やり方ご存じの方ご教授ください。

  • Access レコードのエクスポート

    Accessのmdbファイルをサーバー上に置いてあります。 クライアントPCからサーバーにアクセスし、フォームを使用して取引先データを入力します。 クライアントPCはネットワークから切り放して使用することもあるため、取引先データをクライアントPC本体にも保存したいのです。 形式としては、クライアントPCにもmdbファイルをつくり、その中のテーブルに保存したいのですが、 テーブルごとエクスポートするのではなく、フォームで入力しているそのレコードのみクライアントPCのテーブルにエクスポートさせ、その後は1件ずつ追加されていく形をとりたいのです。 (クライアントPCは複数台あるため、自分のPCで入力したもののみ、自分のPCに取り込みたいのです) テーブルまるままエクスポートまでは書けたのですが、レコードをエクスポートが分かりません。 ご教授ください。

  • Microsoft Accessでのレコード抽出条件に関する質問

    Microsoft Access 2002 を使用しています。 ある項目(フィールド)と別のある項目とが一致しない場合、そのレコードを表示したいのですが、どのようにすればよいでしょうか? Excelにはき出さずにAccess上で実施したいと考えています。 回答宜しくお願いします。

  • access97のフォームで新しいレコードが最初に開くようにしたい

    access97で会社の連絡帳を作成しています。 フォームを開くと保存済のレコードが最初に出てきます。 そうではなくて、最初から新しいレコードが現れ、書き込めるようにしたいです。その上、保存済のレコードも見れる状態にしたいです。 分かる人がいれば、大変助かります。 教えてください。お願いします。

専門家に質問してみよう