No.1ベストアンサー
- 回答日時:
Requeryというメソッドを使うとよいと思います。
ただ、Requeryを使うと通常の方法ではカレントレコードが先頭に戻ってしまいますので、カレントレコードがそのままで、更新できるようにします。
以下、私の覚書をそのままコピペします。
*******************************************************
●Requeryしてもカレントレコードを移動しないようにする方法
言い換えると、カレントレコードを移動させないでRequery(更新)する方法
サブフォーム(単票、帳票どちらでも可)を作って、
サブフォーム/サブレポートコントロールに対してRequeryをかけるだけでそうなる。
サブフォーム/サブレポートコントロール名 は通常はサブフォーム名と同じ場合が多い。サブフォーム/サブレポートコントロールは埋め込みオブジェクト。
サブフォームは、サブフォーム/サブレポートコントロールと実際のフォームの2つから成っている。そこを理解しておかなければならない。
メインフォームだけを作ってサブフォームを作らない場合、つまり、直接メインフォームでデータを表示させ、Me.Requery とやる場合は当然ダメ。
APIを使う方法などの他の方法でやらなければならない。
●メインフォーム上のコマンドボタンでRequeryする場合
コマンドボタンのクリック時イベントに次のように書く。
Forms("メインフォーム名")("サブフォーム/サブレポートコントロール名").Requery
または
Me("サブフォーム/サブレポートコントロール名").Requery
●サブフォーム上のコマンドボタンでRequeryする場合
メインフォーム名やサブフォーム名を汎用的な感じのコードでやってみた。
ボタンのクリックイベントに書く。
'『 実行時エラー '2118'
' "Requery/再クエリ"アクションを実行する前に、
' カレントフィールドを保存する必要があります。』
'が出たら以下の1行を足す。出なければコメントアウト。
'念のためコメントアウトしないほうがいいかも
DoCmd.RunCommand acCmdSaveRecord
'リクエリをする。
'より汎用的にするには、Parentを使わないほうが
'いいのかもしれない。
Parent(Screen.ActiveForm.ActiveControl.Name).Requery
●メモ
サブフォームのどこかのコントロール(テキストボックスなど)にフォーカスがある場合、そのサブフォームを格納するサブフォーム/サブレポートコントロールの名前を取得するには、
Screen.ActiveForm.ActiveControl.Name で取得できる。
サブフォームにフォーカスがある場合、
Screen.ActiveForm.Name
を実行すると、メインフォームの名前が出てきてしまう。
しかし、逆にいうと、サブフォームにフォーカスがある場合なら
メインフォームのサブフォーム/サブレポートコントロールが絶対にアクティブになっているはずなので、それを利用する。
「Parent」の部分は、Meでも良いし、オブジェクト変数名でもよい。
が、オブジェクト変数名のほうが汎用的にしやすいのでそちらのほうがいいと思われる。
以上のことから、フォームを作成するときは、基本的には
できるだけサブフォームを作ったほうがよいかもしれない。
これ以外のメリットもあるし。
「メインフォーム上にデータを表示しないといけないとき」は
無理しないで、普通にメインフォームを使えばいい。
サブフォームの中のサブフォームというのもまた面倒になるので。
もしくは、サブフォームのサブフォームが必要な場合は、別フォームを開く形にして、
そこでもメイン+サブという形を貫くか。そうすると汎用コードが作りやすくなるかもしれない。
別に2画面同時に表示することもできるわけなので。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
許せない心理テスト
私は「あなたの目の前にケーキがあります。ろうそくは何本刺さっていますか」と言われ「12本」と答えたら…
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
Access サブフォームでの選択行の取得
その他(データベース)
-
-
4
AccessのRefresh・Requery・Repaintの違い
Access(アクセス)
-
5
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
6
ACCESSのBookmarkプロパティの使い方
その他(データベース)
-
7
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
8
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
9
Access VBA Me.Requery レコードは削除されています エラー
その他(データベース)
-
10
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
11
ACCESSでタイトルバーを非表示にする方法
Access(アクセス)
-
12
アクセス フォームをリクエリしたい
Access(アクセス)
-
13
入力した値をコンボボックスにすぐに反映させる方法
Excel(エクセル)
-
14
ACCESS──メインフォームでサブフォームのレコード件数をカウントしたい
Access(アクセス)
-
15
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
-
16
【ACCESS】フォーム名/コントロール名を文字列型変数で指定するには
Access(アクセス)
-
17
Accessフォームで詳細内の任意の行へSetFocus
Excel(エクセル)
-
18
サブフォームの行ごとにコンボボックスの表示項目を変更する方法が知りたいです
Visual Basic(VBA)
-
19
access vbaにてテンポラリーテーブルが作りたいです。
Access(アクセス)
-
20
Accessで数値型にNULLをInsertするとエラー
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESS──メインフォームでサブ...
-
サブフォームに対してGoToRecor...
-
Access2010 サブフォームの並び...
-
アクセスでこんなフォームを作...
-
Access SUMの結果が何もない時...
-
クエリで出来た表にチェックボ...
-
ACCESS サブ・メインフォーム...
-
Access2007 ラベルの削除がで...
-
サブフォームを非表示させる方...
-
ACCESSで条件によってサブフォ...
-
親・子リンクフィールドの設定...
-
アクセス2003のサブフォームの...
-
Access:データシート形式表示...
-
ACCESSサブフォームにデータ反...
-
accessでコンボボックスとサブ...
-
親フォームからサブフォームの...
-
サブフォームのあるフォームか...
-
Accessのサブフォーム
-
Accessのチェックボックス
-
access サブフォーム作成につ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
サブフォームに対してGoToRecor...
-
クエリで出来た表にチェックボ...
-
サブフォームを非表示させる方...
-
ACCESS──メインフォームでサブ...
-
ACCESSにて
-
親・子リンクフィールドの設定...
-
親フォームからサブフォームの...
-
ACCESSで条件によってサブフォ...
-
Accessで埋め込んだサブフォー...
-
ACCESSのフォームで列固定?
-
Access2007 ラベルの削除がで...
-
ACCESSサブフォームにデータ反...
-
access フォーム上で複数行の...
-
Access SUMの結果が何もない時...
-
Access サブフォームのレコード...
-
Access VBA には Gridはないで...
-
Access2010 サブフォームの並び...
-
サブフォームに変数を代入し、R...
-
Accessでセレクタをダブルクリ...
-
サブフォームのあるフォームか...
おすすめ情報