最新閲覧日:

こんにちは。
Accessでサブフォームを持っているフォームがあり、サブフォーム側では
Aというテーブルがレコードソースになっていて帳票形式で表示しています。
メインフォームで単票形式で表示してます。
サブフォームで表示された表の中から1レコードを選ぶと、メインのフォーム
にコピーし編集が出来るようにしています。
そしてメインフォームで変更された内容をAテーブルに書き出し、サブフォーム
の内容も最新の内容に書き換わっている、という事をしているのですが、
サブフォームをRequeryすると、表示順序やレコードセレクタの位置が変わって
しまうのです。
サブフォームを、レコードを選択した時の位置のままで、内容は最新の状態で
表示できるようにするにはどうしたらいいのでしょうか?
よろしくお願いします。

A 回答 (2件)

どのように更新処理を行ってるかわからないのでなんとも言えませんが、


Requeryだとレコードの削除、追加を含めてテーブル全体の更新をして表示されるのに対し、
Refreshはカレントレコードへの変更を更新して表示するので、
メインフォームでサブフォームへ値を返す時に直接
Forms!メインフォーム.サブフォームオブジェクト名!項目名 = Forms!メインフォーム!項目名
として、最後に
Forms!メインフォーム.サブフォームオブジェクト名.Form.Refresh
Forms!メインフォーム.サブフォームオブジェクト名.SetFocus
とすればいいかなと思います。
でも、仕様でこうできないのならばこの案もムダになっちゃいますね・・。
    • good
    • 0

サブフォームのRequeryではなくメインフォームのRefreshでどうでしょう?


データの追加や削除があるのならばRequeryを使用しないと正確に表示されませんが、
データの編集だけということならばRefreshでOKだと思います。
    • good
    • 0
この回答へのお礼

データ更新を行うのでRefreshではダメなんです。
なにか良い方法ないですかねぇ。。。

お礼日時:2001/04/19 07:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード


人気Q&Aランキング

おすすめ情報