• 締切済み

Accessのサブフォーム上で常に新規レコードの追加(単票か帳票)の状態を維持する方法

サブフォームの表示条件を「常に新規レコードの追加」の状態を維持する方法を探しています。 レコードにデータ入力後、ボタンをクリックでレコード追加と画面上は新規レコードの入力画面が表示されている動作、或いは「レコード追加」専用のサブ・フォームなのですが・ ご存知の方、教えてください。

みんなの回答

noname#258293
noname#258293
回答No.2

サブフォームがどのような作りになっているのかがわからないので、サブフォームにはレコードソースが設定されているものとしての参考情報です。 データ入力後に押すボタンの処理で、レコードを追加した後に  「レコードを新規レコードに移動」する処理 をしたら、できるのではないでしょうか。 実際に試した結果ではないので確実とはいえませんが、できそうな気がします。

すると、全ての回答が全文表示されます。
noname#140971
noname#140971
回答No.1

主テーブルがあって従テーブルに詳細データを複数登録する。 かようなケースでメインとサブフォームを利用するかと思います。 この場合、詳細データの件数を全て表示するのがサブフォームの役目。 このサブフォームの機能を停止するには、非連結サブフォームを作成するのが手っ取り早い。 が、このようなサブフォームを作成する意図が理解できません。 どういうテーブル構造でなぜを補足しないと、正答は得られないかも知れませんね。

adamsswat
質問者

お礼

非連結サブフォーム+(追加許可+データ入力用)はいで 解決しました。ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A

  • MS-ACCESSのサブフォームの表示条件を「常に新規レコードの追加」の状態を維持する方法について

    サブフォームの表示条件を「常に新規レコードの追加」の状態を維持する方法を探しています。 レコードにデータ入力後、ボタンをクリックでレコード追加と画面上は新規レコードの入力画面が表示されている動作、或いは「レコード追加」のみのサブ・フォームなのですが・ ご存知の方、教えてください。

  • アクセス2003 - レコード追加について

    同期の代理質問です↓ 新規レコードを入力するフォーム(サブフォームも作成)を作り、コマンドボタンを押すと、サブフォーム(全レコード表示させている)に入力したレコードを追加させる場合、どうしたらいいのでしょうか?   ちなみに、サブフォームに追加されたレコードは、 自動的に昇順に並べ変わるしくみにしたいのですが・・・ 宜しくお願い致します☆

  • Access2007 サブフォームの新規レコードをすぐにフォームに表示させる方法

    サブフォーム上で適当なレコード(IDと商品名)を選択して、そのレコードにある入力ボタンを押すと、フォームのコンボボックス上にその商品名が出るようなフォームがあります。 すでに入力済みのIDと商品名は表示されます。 ところが、サブフォーム上でIDと商品名を新規入力して入力ボタンを押すと、フォームのコンボボックスは空白となり、商品データが表示されません。 しかし、一旦フォームを閉じて開くと、データは表示されています。 IDと商品名を新規入力して、そのままフォームのコンボボックスに反映させたいと思います。 入力ボタンはこのようにやってみました。 Private Sub 入力_Click() DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 Forms!フォーム!ID = Me.ID End Sub または、 Private Sub 入力_Click() DoCmd.RunCommand acCmdSaveRecord Forms!フォーム!ID = Me.ID End Sub ご教授いただければ幸いです。よろしくお願いいたします。

  • Access2010 帳票サブフォームで

    Access2010 SP1を使用しています。 帳票サブフォームを含むフォームを作成しています。 1.そのフォームを開いている時、VBAで実際のフォーカス(カーソルがあって直接入力できる位置)が メインフォームにあるかそれともサブフォームにあるかを判断する方法はありませんでしょうか? メインで入力中でもRequery時などで、サブフォーム内のコントロールでEnterイベントが起きてしまい、 本当はサブフォーム内でカーソルが当たって入力する時だけに実行したい処理が動いてしまうのです。 そこでサブのイベントの方にメインで入力中は実行せず、サブで入力している時のみ実行するよう IFで分岐を入れたいのですができますでしょうか? 2.フォームフッタを含む帳票サブフォームでレコードソースが0件の時、 そのフッタにあるテキストボックスへのEnter時にSelLengthやSelStart、Textプロパティが実行できません。 Enter時なのに「コントロールがフォーカスを取得していないときに、コントロールのプロパティまたはメソッドを参照することはできません」 と出てしまうのです。 0件でなければエラーが出ないのですがどうすれば出るようになるのでしょうか?

  • Access2000 サブフォームで選択したレコードをコピーするには?

    フォームにサブフォームとボタンを配置しています。 サブフォームには複数のデータが表示してあります。 コピーしたいレコードを1つ以上選択して、ボタンを押下したときに現在表示しているレコードの下に 選択したレコードをコピーして追加したいのですが、その方法が分りません。 ご存知の方がいらっしゃいましたら、教えてください。 宜しくお願い致します。

  • Access2000でフォームを開くときに常に新規レコードで開きたいのですが

    Access2000で、あるイベントに参加した人のデータベースを作りました。 検索用フォームで「氏名」と「生年月日」で検索し、その人の情報を別の フォームで見ることができるようになっています。 該当者がいない場合は、新しいレコードにそのデータを追加します。 検索結果を表示するフォームに個人情報を表示・書き込みできる画面を開く ためのボタンがあるのですが、このボタンをクリックした時に、常に新規 レコードで開きたいのですが、コードはどのように記述すればよろしいの でしょうか? ちなみに、いまは下記のようなコードになっています。 「新規登録ボタン」は個人情報を表示・書き込みできる画面を開くためのボタン 「応募者」は個人情報を表示・書き込みできるフォーム です。 Private Sub 新規登録ボタン_Click() On Error GoTo Err_新規登録ボタン_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "応募者" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_新規登録ボタン_Click: Exit Sub Err_新規登録ボタン_Click: MsgBox Err.Description Resume Exit_新規登録ボタン_Click End Sub

  • アクセス サブフォームのレコードの値が変更したら

    フォームの中にテーブルに基づいたサブフォームを入れています。 サブフォームはデータシートビューで表示しています。 そのサブフォームのレコードの値が変わったら msgboxを表示させるにはどのイベントで行なえば良いですか? サーブフォームのコントロールに Private Sub ページ名_AfterUpdate() MsgBox "" End Sub としたら確かにメッセージボックスは表示されるのですが 全てのコントロールにつけないとだめですか? 「サブフォームのレコードの値が変更したら」 とするにはどうすればいいでしょうか?

  • サブフォームの帳票のレコードを編集している時

    ここに、親フォームと子フォーム(サブフォーム)があって 子フォームのレコードソースは、Workテーブルとします。 子フォームを編集・新規レコード追加すると、 親フォームの保存ボタン処理で、子フォームのレコード内容をWorkから、元テーブルに更新をかける知りをつくろうと考えています。 この時、 子側の帳票のレコードを編集したり、新規レコードを追加している時には ■『親側で、別のレコードに移動出来ないようにし、親側にある「保存」ボタンを押して、上記の処理をしたあとに、親側で別レコードに移動できる』 ような作りにしたいです。 これを実現するために、上の■『・・・』を実現できるようにするのには、どのようにしたら良いでしょうか? よろしくお願いします。

  • サブフォームの新規レコードに移動したい アクセス

    親フォームのコマンドボタンをクリックしたら 親フォームにはまっているサブフォームの新規レコードに移動したいのですが、 うまくできません。 サブフォームのオブジェクト名は、"F_SubForm"です。 サブフォームはデータシートビューです。 VBAコードは Private Sub cmd_test_Click() DoCmd.SelectObject acForm, "F_SubForm" DoCmd.GoToRecord , , acNewRec End Sub です。 上記コードを実行すると DoCmd.SelectObject acForm, "F_SubForm" の部分で、 「実行時エラー 2489  オブジェクトが開いていません。」 となります。 だからと言って、 DoCmd.GoToRecord , , acNewRec だと、何も起こりません。(新規レコードに移動しません) 解決方法をご教授ください。

  • Access2013 vbaサブフォームのレコード

    [Access2013 vba] ■したいこと サブフォームのレコードの中から、一レコードだけをチェックボックスなどで選択したいのですが、どのようにしたら出来ますでしょうか。 複数行選択は出来ないようにしたいです。 選択したのち、メインフォームの選択ボタンを押すと、そのレコードのID番号を取得して、呼出元のフォームのIDフィールドに代入したいです。 ■画面の流れ・・・ Aフォーム → 帳票型Bフォームで、レコードを選び「開く」ボタンを押す→ B 'メインフォームとCサブフォーム)が開く Cサブフォームのレコードをチェックボックスにチェックを入れて選択する B ' メインフォームの「選択」ボタンを押すと B ' メインフォームと、その前のBフォームが閉じて Aフォームに戻り、AフォームのIDフィールドに選択したIDが格納される。 よろしくお願いします。

この謎の部品は一体何なのか?
このQ&Aのポイント
  • モーター関係の謎の部品について調査しました。
  • この部品の正体や役割について解説します。
  • 動力に関係する機械部品について詳しく説明します。
回答を見る