お世話になります。
申し訳ありませんが教えてください。
Accessでフォームを作成しました。
Formload時でDataSourceを設定し、その後に
詳細(Detail)内で「●」マークのついているテキストに
フォーカスを設定したいのです。
例えば全部で100行あり、画面上は10行しかみえず、
●が40行目からあった場合は、40行目にジャンプして
見えるような動作を目標にしています。
イメージ的には、回して詳細内の指定テキストボックスに
「●」があったらフォーカスして抜けたい、ということです。
Private Sub Form_Load()
Dim sSql As String
Dim rsSetting As DAO.Recordset
Dim i As Integer
sSql = "select * from 設定マスタ"
Set rsSetting = CurrentDb.OpenRecordset(sSql)
’マスタの条件に従い再クエリ(設定マスタデータ利用)
sSql = "SELECT ・・・"
Me.RecordSource = sSql
'はじめに●のある位置に移動する
(ここでループのようなことしたい)
for i = 0 to 詳細の件数
if チェックしている行数のテキストボックス.value = "●" then
テキストボックス.SetFocus
exit for
end if
next
End Sub
こんな感じです。
このくらいならできるだろう、とナメていたら、
ウィザードで作ったフォームの行をどう扱うのか
全く予想がつかない状態なのです。
調べたのですが、調べ方が悪いのか、期待するページが出てきません。
すみませんがよろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
要約すると、
・今作っているフォームは表形式で、10レコード分表示される。
・フォームを開いたときに、とあるフィールドに●と書かれているレコードが一番先頭になるように表示したい。
ということですか?
もしそうならば、レコードセット作成後にその中からとあるフィールドに●があるレコード番号を取得しておき、あとはレコード移動アクションでレコードセットの一番最後へ移動→先ほど取得したレコード番号へ移動、、、とすれば良いかと思います。
DAOの記述はあまりくわしくないので割愛しますが、下記のような感じなります。
'-----
Dim RecNo as Integer
'~レコードセット設定~
'~該当レコード番号取得(RecNoに格納)~
DoCmd.GoToRecord , , acLast
DoCmd.GoToRecord , , acGoTo, RecNo
'-----
一旦最後のレコードに移動したのは、一番先頭に該当レコードが来るようにするためです。
お返事が遅れました。
今回作ったフォームは上記のやり方ができなくて
やろうと思うとそのフォームだけ毛色が違うことになり。
今後のメンテナンス性から考えて、
ユーザーに相談させていただき、別の方法を取りました。
大変失礼なことになってしまい、申し訳ありません。
有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
Access サブフォームでの選択行の取得
その他(データベース)
-
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
どこにもフォーカスを当てたくない
Access(アクセス)
-
-
4
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
5
Accessで、フォームからフォームへ値を引き継ぐやり方
Access(アクセス)
-
6
Accessの画面更新を一時的に停止する方法。
その他(データベース)
-
7
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
8
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
9
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
10
Accessのフォーム上にレコード数とレコード番号の表示
その他(データベース)
-
11
Accessのフォームにて、詳細行のボタンを行の内容により、表示/非表
その他(Microsoft Office)
-
12
ACCSESS2013VBA フォームのレコードソースを変更する
その他(データベース)
-
13
Accessでフォームから別フォームのテキストボックスの値を設定する
Visual Basic(VBA)
-
14
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
15
ACCESSのBookmarkプロパティの使い方
その他(データベース)
-
16
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
17
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
18
サブフォームの新規レコードに移動したい アクセス
Access(アクセス)
-
19
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
20
ACCESSのフォームで次のレコードに移動しない方法を教えてください
その他(データベース)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessで経過日付に応じて色を...
-
ACCESS 複数のフォームから同一...
-
AccessのRefresh・Requery・Rep...
-
excel マクロ 特定の文字列を...
-
Accessフォームで詳細内の任意...
-
Accessでレコードの複製
-
Accessの「Form_AfterUpd...
-
access の 最終レコードの判定...
-
アクセスで複数レコードを1レ...
-
Access 指定したレコードへ移動
-
accessでオートナンバーを使わ...
-
access2010 特定文字を含むレコ...
-
Access サブフォームでの選択行...
-
エクセルで、抽出したデータだ...
-
ACCESSでVBAから選択クエリの抽...
-
AccessでIDを入力したら他の項...
-
ACCESS2007 マクロ クエリのパ...
-
Accessでデータを更新したらそ...
-
前のレコードの値を自動で入れたい
-
Access2000 サブフォームのReco...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESS 複数のフォームから同一...
-
ACCESSフォーム入力後の確定
-
AccessのRefresh・Requery・Rep...
-
Accessフォームで詳細内の任意...
-
access の 最終レコードの判定...
-
Accessでレコードの複製
-
accessでオートナンバーを使わ...
-
Accessのレコード数をテキスト...
-
Accessで経過日付に応じて色を...
-
MS.Access でサブフォーム付の...
-
DoCmd.SearchForRecord が動か...
-
Accessの「Form_AfterUpd...
-
access2010 特定文字を含むレコ...
-
アクセエスのレコードの更新をV...
-
新しいレコードへの移動時にト...
-
アクセスのコンボボックスの内...
-
アクセスのフォームで自動連番...
-
ファイルメーカーProでレコード...
-
アクションクエリ DoCmd.RunSQ...
-
アクセスで複数レコードを1レ...
おすすめ情報