Access97でサブフォームを使用したフォームを作成しています。
サブフォームの明細行の最後に新規レコード行がありますよね。
サブフォームの初期表示時に、この新規レコード行にカーソルを位置付けたいのですが、
Docmd.GoTORecord,,acNewREc とやると、新規レコード行がサブフォームの
最上部にいってしまい、その前にある既存レコードが見えなくなってしまいます。
理想は、サブフォームの1ページが10明細分の大きさで獲ってあるとすると、
新規レコード行を10行目に表示されるようにもっていきたいのですが、
サブフォームに対してこのような制御は可能なのでしょうか。
RecordCountを操作したりしてやってみたのですが、既存レコードの件数によって、
うまくいったりいかなかったりです。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
私も同じことで悩んだことがあります。
そのときの結論ですが、(1) 一番簡単なのは、
サブフォームのビューをデータシートにすれば新規レコードに移動しても10行表示されます。
(2) サブフォームのビューをを帳票にする必要があるなら、
DoCmd.GoToRecord , , acLast
DoCmd.GoToRecord , , acPrevious, 9
DoCmd.GoToRecord , , acNewRec
のように、一度9行前のレコードに行ってから、新規レコードに移動すれば、ちゃんと10行表示されます。
(なんだか裏技っぽくてスマートじゃないんで、自分では納得できてないんですが・・・)
(3) 最後の9レコードより前を表示する必要が無ければ、
サブフォームのクエリーを
SELECT ID, フィールド1, フィールド2,・・・・
FROM テーブル1
WHERE ID In (SELECT TOP 7 ID FROM テーブル1 ORDER BY ID DESC;)
ORDER BY ID;
のようにして、レコード数を新規も含めて10に限定してしまうのも一つの方法かと思います。
とりあえず (2) で用が足りるということでは、自信あり(経験済み)ですが、この方法がベストか? ということではちょっと自信なしです。
お返事ありがとうございます。
実は、私も不本意ながら、(2)にやや近い方法で実験していたのですが、
あともう少しというところでうまくいかなかったりでした。
で、yoishoさんのいわれたようにやってみたところ、うまくいきました。
ちょっと1回余分にレコード移動しているので、
画面のチラツキが気になるところですが、しょうがないですね。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- Access(アクセス) accessについて(超初心者です) 1 2023/02/11 11:18
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Visual Basic(VBA) VB.net フォーム 親子 1 2022/07/04 19:00
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
レコードを保存するコード ア...
-
ACCESSでフォームを使って、テ...
-
Accessでレコードの保存をせず...
-
アクセスでフォームビューがみ...
-
フィルタ後のフォームの件数の...
-
アクセスの自動保存解除はでき...
-
新規レコード行を非表示にしたい
-
Access レコード移動時イベント...
-
Accessで新しいレコードに規定...
-
Access 「このレコードを保存す...
-
レコード削除時に(サブ)フォー...
-
Accessで上の行を自動でコピー...
-
Access 更新キャンセルするには?
-
異なるフォームに属する関数間...
-
レコードをダブルクリックする...
-
access 自作の移動ボタンのエラ...
-
Accessで一件の新規レコードの...
-
accessのクエリで、該当するデ...
-
アクセス データの競合を非表...
-
ACCESSフォームのリストボック...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レコードを保存するコード ア...
-
新規レコード行を非表示にしたい
-
アクセスでフォームビューがみ...
-
ACCESSでフォームを使って、テ...
-
フィルタ後のフォームの件数の...
-
Accessでレコードの保存をせず...
-
アクセスの自動保存解除はでき...
-
Accessで一件の新規レコードの...
-
レコード削除時に(サブ)フォー...
-
Accessで上の行を自動でコピー...
-
Access:フォームプロパティ「...
-
Access2010、値を入力したら自...
-
ACCESS起動時に所定フォームを...
-
AccessVBA RecordSourceのリセ...
-
Accessでのデータ消滅に...
-
Access 「このレコードを保存す...
-
Accessでフォーム上に 直前の...
-
ACCESSフォームのリストボック...
-
アクセス 前レコード内容を、...
-
アクセス データの競合を非表...
おすすめ情報