• ベストアンサー

アクセスのフォームで

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

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

  • ベストアンサー
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.1

以下の回答5、6は参考になりませんでしょうか http://oshiete1.goo.ne.jp/qa5129734.html または、以下の方法でも マウスホイールでレコード移動しないようにする ※標題は異なりますが、中でやっていることは同じです。 更新前処理ではキャンセルし、保存時に更新前処理を一時無効にする。 保存処理後、更新前処理を有効にする。 処理後新規レコードに移動するのなら、処理後 DoCmd.GoToRecord , , acNewRec としてみてください。

doradora64
質問者

お礼

返事が遅くなって申し訳ありません。 添付頂いたサイトにサンプルがあり、大変助かりました。 ありがとうございました。

関連するQ&A

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

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

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

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

  • アクセス フォームのマクロに関して

    アクセスでマクロにてフォームを閉じるを選択しているのですが 新規レコードが必ず追加されてしまいます。 そのフォームはデータ入力用のフォームなのですがデータ入力終了時 テキスト欄をすべて空白でマクロの閉じるを実行させると 必ずテーブルに空白の新規レコードが入力されてしまいます。 なにかいい方法ありますでしょうか?

  • Access2002のマクロについて

    フォームに「登録」ボタンを作成して、その「登録」ボタンをクリックすると、入力中のレコードが確定するようにしたいのですが、このようなマクロを組むことは可能でしょうか? Accessのマクロはかなり初心者なのですが、ご存知の方教えてください_(_^_)_

  • Access2007のフォームとクエリについて

    Access2007、OSはwindows7での開発です。 フォームのレコードソースに自分で作ったクエリを張り付けているのですが、 コードの中でクエリを変更し、その変更した内容がフォームに反映のされ方がおかしくて困っています。 前の画面で年月を入力し、ボタンをクリックすることで次の画面へ移行し、前の画面の年月でクエリを書き換えています。クエリは書き変わっていますし、クエリを書き換えた後にフォームをリクエリしています。しかし、フォームに反映されているデータは直前に入力した年月ではなく、その1つ前の年月のデータが出てきます。 流れとしましては、 年月入力画面で年月入力⇒作成ボタン押下で時間テーブルを見て、データが無ければ新しく作る。あればそのデータを表示というながれです。 説明下手なので理解しにくいかもございませんが、ご協力よろしくお願いします。

  • ACCESS フォーム

    ACCESSの初心者です。 フォームのメインフォーム、サブフォームを使ってデータを入力しています。 サブフォームにデータを入力後、マウスを使わないで次のレコードに移動したいのですが、どのような方法がありますか。   よろしくお願いします。

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

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

  • Access2003でフォームにあるコマンドボタンで更にフォームを開く

    Access2003でフォームにあるコマンドボタンで更にフォームを開くときのVBA記述で困っています。 Access2003で社員情報管理のデータベースを作成中です。 社員の情報を入力するにあたり、【基本情報】と【詳細情報】とでフォームを分けてあり、【詳細情報】を入力したい場合は、"基本情報フォーム"にあるコマンドボタンをクリックして"詳細情報フォーム"を開くようになっています。 この際、"基本情報フォーム"で開いている社員の【社員番号】を"詳細情報フォーム"の【社員番号】欄にも自動的に表示させるため、以下のようなVBAを記述しました。 Private Sub コマンドボタン_Click() DoCmd.OpenForm "詳細情報フォーム" Forms![詳細情報フォーム![社員番号].DefaultValue = Me![社員番号] End Sub 【社員番号】は7ケタの半角英数で、社員によって、数字だけの場合と、英数混じっている場合とがあります(データ型はテキスト型にしてあります)。 困っているのは、 1.上記を実行した際に、数字だけの社員番号は問題ないのですが、英数混じりの場合だと"社員番号"テキストボックスが「#Name?」という表示になってしまう 2."基本情報フォーム"のコマンドボタンをクリックして新規の"詳細情報フォーム"を開き(社員番号のみが反映され、他の項目は空欄の状態)、詳細情報を入力→保存したあと、別の社員番号で"基本情報フォーム"を開き、コマンドボタンで"詳細情報フォーム"を開くと、前に入力した社員の情報が出てきてしまう。 (つまり、"詳細情報フォーム"のもととなるテーブルに、1行でもレコードがあると、それが出てきてしまう。) 【詳細情報】は、 1.データを入力する社員としない社員とがいる 2.新規でレコードを作成する場合と、既存のレコードを上書きする場合とがある ので、もととなる"詳細情報テーブル"にその【社員番号の】レコードがなければ新規入力画面を、レコードがあればそのレコードを呼び出す形にしたいのですが、英数混じりの表示の件も含め、どうすれば、正しく表示されるか教えていただきたいです。 ぜひぜひよろしくお願いします。

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

    前回質問したのですが回答がなかったので再度簡単に質問させていただきます 現在、帳票フォームとしてフォームを作成しています コードをレコードの項目にふってあるのですが、入力するさいに既存レコードとコードが重複した場合にエラーを表示したいのです 出来れば同一コードを入力された場合次のレコードへは行けないようにしたいのですが・・・。 フォームの更新前処理に設定すればとりあえず次のレコードへは行かなくなるのですが、既存レコードを編集した場合にもエラーが表示されるのです 更新前処理で処理をしたいのですがムリでしょうか? なにか良い方法があれば教えてください 宜しくお願いします

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

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

専門家に質問してみよう