• 締切済み

accessの入力フォームでの入力規制

amuro-kamuiと申します。過日はレスのつかない質問をしてしまい反省しています。 実は職場で使うなんちゃってDBを作っているのですがどうも不満足なので解決策をご教授いただきたいと思い質問させていただきます データ入力フォームを作りいくつかの項目(37個)を入力しているのですが、途中で誤った操作をしてもそのレコードが追加されてしまい困っています。 フォームの中に保存ボタンをつくりました。 このボタンをクリックするまではデータが保存されないようにするにはどうしたらいいのでしょうか? 本当に初歩的な質問ですがよろしくお願いします

みんなの回答

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 フォームの更新前処理(BeforeUpdateイベント)に、各項目の内容をチェックするようにすればいいと思います。 フォーム上で各コントロールに値を入力しただけでは、まだテーブルには書き込まれません。

amuro_kamui
質問者

お礼

そういう手順があったのですね。助かります。この方法は今後活用するべくこれから学習始めます。どうもありがとうございました ただ、今回の私の困った症状はこの前のNo.1の回答への補足で書いたように入力フォーム画面がスクロールボタンのスライドで変わってしまうことののです。こちらの解決策のピントがあれべご教授お願いします

noname#49904
noname#49904
回答No.1

 どんな構造のものか判りませんがフォームから上書き修正できなければ使えませんよ。  たとえば、住所録を作ったけれど、という内容で住所を間違えたけれどどうしたら良いか、のような質問をしてください。  保存ボタンはAccessで必要ないです。(自動で保存されますので)  上書き修正できるようかんがえてください。

amuro_kamui
質問者

補足

やっぱりそうですよね。フォームから参照するのが保存先のテーブルのレコードですからね。 思いつきですが、データ入力フォームの入力や修正データは、それ専用のテーブルで行って「保存ボタン」を押した時に管理用テーブルに保存できないかなって思ったのです。でも無理そうですね。だって参照する場合のデータが入力データテーブルに引っ張ってくる方法を思いつかないから。 質問の視点を少し変えます。 今の時点で一番困っているのはフォーム入力画面でマウスの誤操作(スクロールボタンをスライドさせてしまう)と入力途中でも別の参照レコードのデータになってしまうことです。 これを防止するにはどのような方法があるのでしょうか?ご教授お願いします

関連するQ&A

  • access2000入力フォームの画面スクロール

    amuro-kamuiと申します 度々となりますが皆様のお知恵をお借りしたくて質問します。 access2000にて入力フォームを作成しました。 入力項目が40位いあり画面を縦スクロールさせないと全項目入力しきれなくなってしました。 それで入力している途中で画面を下にスクロールさせようとしてうっかりマウスのスクロールボタンを触ると入力フォームが次のレコードのデータになってしまいます。 使い勝手が不便で困っています。 なんとかしてこれを防ぎたいと思っています。 教科書本やHELP等を探して見たのですが解決方法が見つかりません。 解決策かヒントでもよいのでご教授お願いいたします。

  • ACCESSのフォームでの入力について

    ACCESS2000を使用しています。初心者のほうです。住所録のテーブルを作って、作業用のフォームを表形式で作りました。そのフォームに宛名印刷するためのコマンドボタンを配置しています。フォーム上で一件入力し、そのコマンドボタンを実行するのですが、その時点ではレコードとして入力されていないようで、実行できません。フォームを一度閉じて、また開くと出来るようになります。1件のレコードをフォームから入力すると同時にテーブルへも保存されていくようにしたいのですが、簡単にやる方法はないでしょうか?

  • フォームから入力してテーブルにデータを落とすタイミング

    お世話になっております。 業務上Access2000を使ってDBの構築をすることになりましたが、ひとつわからないことが出てきましたのでよろしくお願いいたします。 それは、フォームからデータを入力する際に「更新」ボタンを押して初めてテーブルに落とすようにしたいのですが、その方法がわからず困っております。 Accessの「ボタン」でレコード操作で変更を保存ボタンを設置させて試しても「保存」ボタンを押す前からデータがテーブルに落ちてしまっているようです。 これを、「保存」ボタンを押して初めてテーブルにデータが落ちるVBAでのロジックの組み方をどなたかよろしくお願いいたしす。

  • Access フォームの入力について

    アクセス初心者です。 フォームA(メインとなる画面)でコマンドボタンをクリックすると フォームBが開くように設定しました。 フォームAでレコード1を入力時にコマンドボタンをクリックすると フォームBのレコード1に フォームAのレコード5を入力時にコマンドボタンをクリックすると フォームBのレコード5に移動してデータを入力できるようにすることは可能でしょうか?可能であればどのようにしたらよいでしょうか? 具体的には テーブル 社員NO、氏名・・・、希望地域(yes/no型)があります。 フォームA ・社員NO ・氏名など フォームB ・希望地域(チェックボックスでチェックする。複数選択可) フォームAを入力時にフォームBを開いて希望地域にチェックできる というようにしたいのですが、 フォームAからフォームBに移動するといつもレコード1が表示されてしまいます。 自分なりに試行錯誤しているのですがどうしてもできません。 よろしくお願いします。

  • Accessのフォームでデータ入力時に保存するタイミング

    Accessでフォームを使ってデータを追加しているときに、データを入力した時点でレコードに追加されてしまいますよね? それを、保存ボタンなどで実行してからレコードに追加されるようにするにはどうしたらいいでしょうか? どなたかご存知でしたらおねがいします。

  • ACCESSフォーム入力後の確定

    こんにちは。 初歩的な質問ですみません。 Access2003で名簿を作っており フォームに印刷ボタンを作り where条件で顧客名を拾ってその人のカルテが出るようにしてあります。 ですが、新規入力後すぐに印刷したいとき レコードがまだ確定されていないのか、うまく機能しません。 なので、いったん前後のレコード画面を開いてから もう1度戻って、印刷ボタンを押しています。 手間がかかるので、何か良い方法はないでしょうか?

  • アクセスのフォームで

    アクセスのフォームで、ボタンを作成し、新規データ入力に際にそのボタンをクリックすると入力したデータが確定となり、次のレコード(新規データ)の入力になる様にするにはどうしたいいですか? 逆に言えば、そのボタンをクリックしない限り、次の新規レコード入力へ行けない様にしたいです。又、ボタンをクリックしても空白の項目があれば次へ行けない様にしたいです。 教えて下さい。よろしくお願いします。

  • アクセスで演算のみのフォームをについて。

    アクセスで数値を入力して、1クリックで計算結果が出せるようなフォームを作成中なのですが、リセットボタンでクリアするにはどのようにしたらよいでしょうか。その都度データを残さない(保存しない)方向でしたいのですが、「新規レコード追加」にするとデータが保存されてしまいます。「レコードの削除」にすると毎回「1件のレコードを削除してもよいですか?」のコメントがでてきます。リセットボタンを1クリックでデータを空白にしたいと考えています。どなたかよろしくお願いいたします。

  • アクセスのフォーム入力について

    アクセス初心者です。操作方法でどうしてもわからないところがあり、知識を分けていただけたら嬉しいです。 仕事で、フォームを使って新規データ入力を行うことがとても多いのです。新しいレコードにデータを入力する際に、最終レコードのデータが初期値として入力されているようにすることは可能でしょうか? 日付などの共通のデータが、新しいレコードの初期値として予め入っていればとても助かります。新レコード入力の際に、常に最終レコード(一つ前に入力したデータ)の値を入れておく方法があれば、ご伝授をお願いいたします。

  • Access2003 ~入力のみ可能なフォームを作成したい~

    Access2003 ~入力のみ可能なフォームを作成したい~ データ入力用のフォームを作っているのですが、テーブル上の既存のデータに対しても 編集が可能になっているので、これを出来ないようしたいのですが、どのように操作すればよいのでしょうか? 作りたいものは次のいずれかです。 (1)既存のデータは参照のみ可能で新規エントリー可能。 (2)既存のデータは表示させずに、完全に入力しかできないフォーム。 ●さらに入力後に、データを登録するかキャンセルするか を行うボタンを設定したい。 ※入力しただけではデータが保存されないようにしたい。 よろしくお願い致します。