Microsoft Access 掲示板

単票フォームの表示を「次へ」「前へ」 / 2

5 コメント
views
4 フォロー
2

「F案件」と「F案件詳細」のレコードソースは同じテーブルですか。
同じという前提が回答します。

あと、全角英数字を名前に使用するとトラブルの元なので、半角に修正しておくことを推奨します。
「F案件」、「F案件詳細」とFは半角として回答します。

「F_案件」フォーム上にコマンドボタン「cmd案件詳細」があり、そのクリックで「F案件詳細」を開くとします。
このcmd案件詳細のクリック時のイベントプロシージャを下記のように記述します。

Private Sub cmd案件詳細_Click()
    DoCmd.OpenForm "F案件詳細"
    Set Forms!F案件詳細.Recordset = Me.Recordset
End Sub

これで、「F案件」と「F案件詳細」は同じレコードセットを共有することになりますので、並び順は同じなりレコード移動も完全同期します。片方のフォームでレコード移動するともう一方のレコードも追随して同じなります。

レコード移動のボタンに関しては、コントロールウィザードをオンにしておいてコマンドボタンは配置すると、「レコードの移動」で「前のレコードに移動」「次のレコードに移動」をそれぞれ選択すると自動で作成できます。

あと、フィルターや並べ替えを変更すると、レコードセットの共有がレセットされますので、並べ替えを変更したあとにもレコードセット共有処理を実行するようにします。

例えば下記のような感じです。

Private Sub cmd降順_Click()
    Me.OrderBy = "フィールド名 DESC"
    Me.OrderByOn = True
    Set Forms!F_社員詳細.Recordset = Me.Recordset
End Sub
通報 ...