
No.1ベストアンサー
- 回答日時:
直接の回答ではないのですが・・・
例えば、"ID=3" のレコードを検索・移動した折にブックマークを設定しておいたとします。
そうすれば、
Me.Bookmark = varBookmark
の1行だけで、そのレコードに移動できます。
ですから、オフセット計算など不要。
質問のケースでは、別のフォームで移動したいレコードを選択・指定した時に SetBookmark() をコール。
SetBookmark 関数では、フォーム名を引数に出来ますので、他のフォームでも使用できます。
そうすれば、広域変数のブックマークが未定義かどうかをチックしフォームのブックマークを設定すればいいです。
もちろん、DAO を使っていますので参照設定はしなくちゃならないです。
Option Compare Database
Option Explicit
Dim varBookmark As Variant
Private Sub コマンド6_Click()
SetBookmark Me.Name, "ID=3"
If IsEmpty(varBookmark) Then
MsgBox "No Bookmark set!"
Else
Me.Bookmark = varBookmark
End If
End Sub
Public Sub SetBookmark(ByVal frmName As String, ByVal strWhere As String)
Dim B(1) As Integer
Dim rst As DAO.Recordset
Set rst = Forms(frmName).RecordsetClone
With rst
rst.FindFirst strWhere
If .NoMatch Then
MsgBox strWhere & " のレコードが見つかりません。"
Else
varBookmark = rst.Bookmark
End If
End With
End Sub
回答ありがとうございました。
bookmarkは使った事のないプロパティですが、
例示していただいたコードを参考にして使ってみます。
No.4
- 回答日時:
オフセットは、そのフォームでのレコードの位置ですので
2つのフォームでの操作と言うのが、具体的にイメージできませんんが・・
要は、カレントレコード(選択しているレコード)の位置を取得すればよいので、該当フォームで
Me.CurrentRecord
で、何番目の位置か取得できます。
No.3
- 回答日時:
With rst
.FindFirst strWhere
If .NoMatch Then
MsgBox strWhere & " のレコードが見つかりません。"
Else
varBookmark = .Bookmark
End If
End With
さらに、バグ発見!rst も無駄!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- PHP クエリObjectをforeachで回す時に、次のレコードへ移動せずに次のレコードを取得したい 2 2022/07/28 15:29
- Access(アクセス) accessについて(超初心者です) 1 2023/02/11 11:18
- Access(アクセス) Accessにインポートした複数のテーブルを表示させる方法が分かりません。 1 2023/01/30 20:22
- Access(アクセス) Accessフォーム 一部のレコードだけを抽出する方法について 1 2022/06/28 18:45
- 工学 差動増幅回路のオフセット 1 2023/01/09 15:16
- 楽器・演奏 ★この考え方 どう思われますかぁ? 5 2023/06/08 16:44
- Access(アクセス) access フォーム 大分類、小分類 1 2022/08/11 18:03
このQ&Aを見た人はこんなQ&Aも見ています
-
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
Access「レコードの移動」マクロについて
Excel(エクセル)
-
Accessのフォーム上にレコード数とレコード番号の表示
その他(データベース)
-
-
4
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
5
Access レポート印刷するときに1ページに収める方法
Access(アクセス)
-
6
Accessにインポートしたら並び順が変わっちゃった
Access(アクセス)
-
7
新規レコード行を非表示にしたい
Access(アクセス)
-
8
アクセスVBAのMe!と[ ]
Access(アクセス)
-
9
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
10
Access 指定したレコードへ移動
Access(アクセス)
-
11
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
12
サブフォームの新規レコードに移動したい アクセス
Access(アクセス)
-
13
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
14
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
15
ACCESSのフォームで次のレコードに移動しない方法を教えてください
その他(データベース)
-
16
AccessのSQL文で1件のみヒットしたら終了させる構文。
その他(データベース)
-
17
アクセスのフォームを開くときに新しいレコードへ移動するには?
Access(アクセス)
-
18
2つ目のレコードの値を取得するには?
Access(アクセス)
-
19
ACCESS側からEXCELの書式を設定するには?
Visual Basic(VBA)
-
20
アクセス:フォーム入力で、最後の入力が終わっても次のレコードに移動しないようにするには?
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
差込印刷で顧客別に複数行のデ...
-
Accessで最終レコードの削除に...
-
ファイルメーカーPro8 直前の...
-
ファイルメーカープロでレコー...
-
FileMakerで特定のレコードのみ...
-
ファイルメーカーでレコードご...
-
日付の加算・減算ってできますか?
-
ACCESSで空白行を追加
-
accessのマクロで「一時変数設定」
-
ファイルメーカーで一括入力す...
-
ファイルメーカーで検索条件の...
-
「ファイルメーカー」で宛先の...
-
ACCESSのフォームで次のレコー...
-
インポートの際データが重複し...
-
「#エラー」の回避
-
Accessのクエリーのゼロデータ...
-
Accessのフォーマット時イベント
-
Access2007でSQLの複数列副問い...
-
ACCESSレポートの1ページだけ
-
アクセスで入力したデータの順...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
差込印刷で顧客別に複数行のデ...
-
ACCESSのフォームで次のレコー...
-
Accessのレポートの集計に条件...
-
ACCESSでオフセットを求める方法
-
「ファイルメーカー」で宛先の...
-
日付の加算・減算ってできますか?
-
ADOで現在のレコードの次のレコ...
-
ファイルメーカーで最大シリア...
-
ファイルメーカーで該当件数を...
-
ラベルをクリックしてレコード...
-
accessのマクロで「一時変数設定」
-
ホスト汎用機でのNDBアクセス方法
-
FileMakerで全レコードを対象外...
-
FM8で文字列の連結
-
アクセスデータベースのUnicode...
-
ファイルメーカーで一括入力す...
-
PSQLで-- More --を表示しない方法
-
Accessで最終レコードの削除に...
-
ファイルメーカーで検索条件の...
-
ACCESSでのランダムのレ...
おすすめ情報