No.1ベストアンサー
- 回答日時:
> 別のフォーム上にデータを入力し保存
「レコードの保存」を行うには、以下のようにします:
(但し、回答の簡素化のため、エラー処理は省略しています)
※フォーム名を「メイン」とした場合。
Private Sub コマンド0_Click()
'別フォームへのレコードの入力
Forms!メイン!ID = Me!ID + 1 '入力の一例
'レコードの保存
Forms!メイン.SetFocus '対象フォームをアクティブ化
RunCommand accmdSaveRecord 'レコードの保存
Me.SetFocus '実行元のフォームに戻る
End Sub
なお、「対象フォームのRequery」でも通常はレコードの保存ができますが、
職場で作成したMDBファイルで、何かの条件で、それだとエラーになる場合が
あったため、この場では上記を推奨しておきます。
(どういう条件だったかは、失念してしまいましたが・・・(汗))
> サブフォームのデータも保存
この場合は、上記に加えて、「サブフォームのアクティブ化」と「レコードの保存」
を実行してやればOkです:
※サブフォーム名(→プロパティシートの『その他』タブの『名前』に表示される
もの)を「サブ」とした場合。
Private Sub コマンド0_Click()
Forms!メイン!ID = Me!ID + 1
'メインフォームのレコード保存
Forms!メイン.SetFocus
RunCommand accmdSaveRecord
'サブフォームのレコード保存
Forms!メイン!サブ.SetFocus
RunCommand acCmdSaveRecord
Me.SetFocus
End Sub
なお、「Forms!メイン」を何度も参照する代わりに、Withステートメントを使用
したり、Form型のオブジェクト変数に格納してやると、若干ながら端末への
負荷が軽減されますので、併せて今後の参考まで。
(今回提示した程度のものなら、昨今のPCでは大した負荷にはなりませんが(汗)
どちらかというと、見やすくなるというメリットの方が大きいかもしれません)
Private Sub コマンド0_Click()
Dim Frm As Form
'メインフォームを変数Frmに格納
Set Frm = Forms!メイン
With Frm
!ID = Me!ID + 1
.SetFocus
RunCommand accmdSaveRecord
!サブ.SetFocus
RunCommand acCmdSaveRecord
End With
Me.SetFocus
'念のため、明示的にメモリを解放
Set Frm = Nothing
End Sub
※「Forms!メイン!サブ」には、「.Form」や「.Controls」が省略されています。
そちらを入れた方が使い慣れているようでしたら、それらを入れてもOkです。
分かりやすい回答ありがとうございました。おかげさまで解決いたしました。
私の持っている解説書にはご回答のような説明が載っていません。ご推薦の解説書があれば教えていただけますでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- PHP php 確認表示画面で値をSESSIONから取り出す理由の解釈は正しいでしょうか? 1 2023/06/09 17:39
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- その他(Microsoft Office) Excelで総数量を変動させたい 2 2022/11/04 23:49
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Access(アクセス) accessについて(超初心者です) 1 2023/02/11 11:18
- Chrome(クローム) 入力フォームの履歴を消したい 2 2023/06/29 13:02
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
- Excel(エクセル) エクセルのファームにプルダウン設置できますか? 2 2022/05/19 23:38
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
ちょっと先の未来クイズ第6問
2025年1月2日と1月3日に行われる、第101回箱根駅伝(東京箱根間往復大学駅伝競走)で、上位3位に入賞するチームはどこでしょう?
-
【お題】逆襲の桃太郎
【大喜利】桃太郎が1回鬼退治に失敗したところから始まる新作昔話「リベンジオブ桃太郎」にはこんなシーンがある
-
AIツールの活用方法を教えて
みなさんは普段どのような場面でAIツール(ChatGPTなど)を活用していますか?
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
Access サブフォームでの選択行の取得
その他(データベース)
-
-
4
ACCESS フォームからサブフォームのデータを更新・入力したい
Access(アクセス)
-
5
アクセエスのレコードの更新をVBAでするには?
Access(アクセス)
-
6
サブフォームの新規レコードに移動したい アクセス
Access(アクセス)
-
7
ACCESSのフォームで次のレコードに移動しない方法を教えてください
その他(データベース)
-
8
親フォームからサブフォームのレコードソースを設定
Access(アクセス)
-
9
ACCESSのBookmarkプロパティの使い方
その他(データベース)
-
10
Accessで、フォームからフォームへ値を引き継ぐやり方
Access(アクセス)
-
11
ACCESS──メインフォームでサブフォームのレコード件数をカウントしたい
Access(アクセス)
-
12
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
13
ACCESSフォーム入力後の確定
Access(アクセス)
-
14
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
15
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
16
[Access]帳票フォームにて連続する非連結コントロールに個々の値を入れるには
Access(アクセス)
-
17
Accessのサブフォーム内で連続番号を振りたい
Access(アクセス)
-
18
サブフォームの行ごとにコンボボックスの表示項目を変更する方法が知りたいです
Visual Basic(VBA)
-
19
Accessの条件付き書式設定で、複数の条件が一致した時の書式を設定したい
その他(Microsoft Office)
-
20
Accessで埋め込んだサブフォーム(データシート形式)でデータ追加ができない
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access サブフォームでの選択行...
-
Access2000、これはいったい・...
-
ACCSESS2013VBA フォームのレコ...
-
Access2000 サブフォームのReco...
-
Access 複数フォームを...
-
googleフォームでインストール...
-
サブフォームでのダブルクリッ...
-
Access 2010 分割フォームのフ...
-
Access ウィンドウサイズの変更
-
アクセスでサブフォームのレコ...
-
Accessフィルターをかけたサブ...
-
Accessで、サブフォームのある...
-
(ACCESS)条件に応じて、テキ...
-
accessのサブフォームの並び替...
-
AccessのFormのみをスクリーン...
-
Accessでサブフォームの中の並...
-
Access レイアウト変更したサブ...
-
レコードセットで得た結果をサ...
-
エクセルで、抽出したデータだ...
-
Accessでデータを更新したらそ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access サブフォームでの選択行...
-
Access2000、これはいったい・...
-
メインフォームとサブフォーム...
-
Access 複数フォームを...
-
(ACCESS)条件に応じて、テキ...
-
ACCSESS2013VBA フォームのレコ...
-
access サブフォームにリストを...
-
2回目に画面のレコードセットの...
-
Access2000 サブフォームのReco...
-
サブフォームが見えなくなる。
-
Accessのサブフォームから値を...
-
初心者です。accessで請求書を...
-
Accessで、一覧からクリックし...
-
Access VBA acCmdSelectRec...
-
ACCESSでfilterとorderbyについて
-
Accessでのフォーム表示がうま...
-
サブフォームでフィルタしたデ...
-
アクセスでサブフォームのレコ...
-
サブフォームのデータを保存す...
-
AccessのFormのみをスクリーン...
おすすめ情報