ここから本文です

フォーム内のリスト表示から個別レコードを修正するフォームに遷移する動作に関し...

pic********さん

2018/7/1413:03:26

フォーム内のリスト表示から個別レコードを修正するフォームに遷移する動作に関して、リスト表示フォームの表示位置を指定する方法を教えていただけないでしょうか。

Access2013を利用しています。

たとえば、リスト表示で画面をスクロールして30番目のレコードを選択して、個別レコードの修正フォームでレコードを更新し、保存、リスト表示に戻る動作があります。
このとき、リスト表示では表示レコードを更新して表示しているので、先頭レコードの位置にもどって表示されてしまいます。
これを、操作した30番目のレコード(または、レコードを選択した際のレコード)の位置でリスト表示させる方法を教えていただけないでしょうか。

また、あまり考えにくいのですが、ソート順に使用するフィールドが変更された場合に、その更新したレコードをリスト表示の先頭にする方法がありましたら、あわせて教えていただけると助かります。

閲覧数:
78
回答数:
2
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

hat********さん

2018/7/1500:41:11

「リスト表示フォーム」とは「帳票フォーム」のことですかね。

> このとき、リスト表示では表示レコードを更新して表示しているので、先頭レコードの位置にもどって表示されてしまいます。

「表示レコードを更新して表示」とは、「再クエリ(Requery)」のことでしょうかね。再クエリすると、全データを再読み込みして、先頭レコードに移動しますので。

独自の用語では、誤解のもとになりますので、なるべく正しい用語を使うようにしましょう。入門テキストや入門解説サイトで一通り学習されることをお勧めします。

BookMark を使うという回答がありますが、再クエリすると、データ全体を再読み込みするので、BookMark は再構築されます。ですので、再クエリ前に取得したBookMarkは使えません。

今回は、帳票フォームで選択しているレコード(正式用語ではカレントレコードといいいます)を、別の単票フォームを開いて更新して、その更新をもとの帳票フォームのレコードに反映したいということですね。(たぶん)

であるなら、再クエリ(全データの再読み込み)する必要はありません。
選択しているレコードのみ再読み込みすればいいのです。
これは、Refreshメソッドです。Refresh なら、カレントレコードは移動しませんので、BookMark を使う必要もありません。

  • 質問者

    pic********さん

    2018/7/1501:40:57

    hat********さん
    コメントありがとうございます。

    用語の件、失礼しました。
    入門書を1冊買ってこようと思います。

    拙い説明でしたが、状況はご理解のとおりです。

    問題の方なのですが、
    帳票フォーム(F03)に対して以下の修正したところ、F03の表示位置は動くことはなくなりましたが、単票フォーム(F04)での更新結果は反映されませんでした。
    何か根本的に勘違いしているのでしょうか。

    Forms!F03.Requery

    Forms!F03.Refresh

  • その他の返信(5件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

ベストアンサー以外の回答

1〜1件/1件中

プロフィール画像

カテゴリマスター

tac********さん

2018/7/1415:05:51

01.Bookmarkプロパティを利用したレコード移動
http://www.geocities.jp/cbc_vbnet/DAO/record6.html

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる