
お世話になります。
申し訳ありませんが教えてください。
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も見ています
-
Access サブフォームでの選択行の取得
その他(データベース)
-
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
-
4
Accessのフォームにて、詳細行のボタンを行の内容により、表示/非表
その他(Microsoft Office)
-
5
AccessVBA SetFocusとGoToControlが正常に作動しない
Access(アクセス)
-
6
どこにもフォーカスを当てたくない
Access(アクセス)
-
7
アクセスでレコードの内容が変更されたかどうかを調べるには
Access(アクセス)
-
8
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
9
Access 複数フォームを開き、画面の最上面にしたいフォームをコント
その他(データベース)
-
10
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
11
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
12
Accessの更新後処理で特定の条件を満たしている場合、フォーカスを移動させない方法
PowerPoint(パワーポイント)
-
13
Access2010 「演算子がありません」エラー
その他(データベース)
-
14
サブフォームの新規レコードに移動したい アクセス
Access(アクセス)
-
15
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
16
ACCESS──メインフォームでサブフォームのレコード件数をカウントしたい
Access(アクセス)
-
17
新規レコード行を非表示にしたい
Access(アクセス)
-
18
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
19
フォームウィンドウを最前面に表示したい(ACCESS)
Microsoft ASP
-
20
アクセスのフォームのビューが表示されないのですが、
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
AccessのRefresh・Requery・Rep...
-
MSAccess ロック状態かどうかを...
-
Accessの「Form_AfterUpd...
-
docmd.gotorecordを起動するには
-
ACCESS 複数のフォームから同一...
-
access の 最終レコードの判定...
-
ACCESSフォーム入力後の確定
-
Accessフォームで詳細内の任意...
-
ファイルメーカーのレコード複...
-
Accessでレコードの複製
-
アクセエスのレコードの更新をV...
-
カレントレコードの取得について
-
ACCESSのカレントレコードを、w...
-
ACCESSで帳票形式のレポ...
-
Access 指定したレコードへ移動
-
アクセスのフォームビューの帳...
-
MS.Access でサブフォーム付の...
-
エクセルで、抽出したデータだ...
-
Access サブフォームでの選択行...
-
ExcelのComboboxでマウスのスク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESS 複数のフォームから同一...
-
AccessのRefresh・Requery・Rep...
-
Accessでレコードの複製
-
Accessで経過日付に応じて色を...
-
ACCESSフォーム入力後の確定
-
Accessフォームで詳細内の任意...
-
accessでオートナンバーを使わ...
-
アクセエスのレコードの更新をV...
-
access の 最終レコードの判定...
-
DoCmd.SearchForRecord が動か...
-
MSAccess ロック状態かどうかを...
-
Accessの「Form_AfterUpd...
-
アクセスで複数レコードを1レ...
-
アクセスのコンボボックスの内...
-
Access 指定したレコードへ移動
-
docmd.gotorecordを起動するには
-
Accessでの計算
-
アクセスのフォームビューの帳...
-
ファイルメーカーで重複してイ...
-
アクセスのフォームで自動連番...
おすすめ情報