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も見ています
-
風水の観点で選ぶ観葉植物とは?置き場所や上げたい運気ごとの注意点を紹介!
観葉植物で運気をアップするコツを、風水デザイン1級建築士の福島昌彦さんに伺った。
-
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
Access サブフォームでの選択行の取得
その他(データベース)
-
-
4
Access 指定したレコードへ移動
Access(アクセス)
-
5
Access 別フォームへの再クエリ(更新)がしたい。
その他(データベース)
-
6
ACCESS テキストボックスの入力値削除
Visual Basic(VBA)
-
7
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
8
サブフォームの新規レコードに移動したい アクセス
Access(アクセス)
-
9
Accessを開くと「排他モードじゃないので変更しても保存できない」との旨の表示が出てしまう。
Access(アクセス)
-
10
accessでクエリをExcelにエクスポートする時にファイル名に日付を追加したい
Access(アクセス)
-
11
Access レポート印刷するときに1ページに収める方法
Access(アクセス)
-
12
ACCESSのEXEを作るのは可能ですか?
その他(データベース)
-
13
空白はダメというエラーの表示(アクセス)
その他(データベース)
-
14
コンボボックスで選択したものをクリアーしたい(アクセス VBA)
Access(アクセス)
-
15
アクセスで入力したデータの順番が変わってしまいます
その他(ビジネス・キャリア)
-
16
アクセス2000:クエリの組込み関数で「氏名」を「ふりがな」にしたい
Access(アクセス)
-
17
AccessでIDを入力したら他の項目も自動で表示
Access(アクセス)
-
18
accessで該当するレコードがない場合
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
差込印刷で顧客別に複数行のデ...
-
アクセスデータベースのUnicode...
-
ファイルメーカーでの質問
-
ファイルメーカーの重複レコード
-
日付の加算・減算ってできますか?
-
カレントレコードがありません...
-
LIKEとINを同時に使いたい
-
ファイルメーカーで該当件数を...
-
access レポートで罫線...
-
ファイルメーカーで別のレコー...
-
ファイルメーカー 縦表示を横...
-
Docmd.Findrecordで空白の検索方法
-
accessのマクロで「一時変数設定」
-
Accessで最終レコードの削除に...
-
ACCESSのフォームで次のレコー...
-
「#エラー」の回避
-
ExcelからAccessデータを検索す...
-
Accessのレポート上のテキスト...
-
アクセスで入力したデータの順...
-
アクセスのレポートのヘッダー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
差込印刷で顧客別に複数行のデ...
-
ADOで現在のレコードの次のレコ...
-
ACCESSのフォームで次のレコー...
-
Accessのレポートの集計に条件...
-
日付の加算・減算ってできますか?
-
アクセスデータベースのUnicode...
-
ホスト汎用機でのNDBアクセス方法
-
ACCESSのレコード操作で1つ前...
-
ファイルメーカーで最大シリア...
-
accessのマクロで「一時変数設定」
-
アクセスでのエクセルでいう行...
-
180g重量版レコードとは? 180...
-
ACCESSでのランダムのレ...
-
ファイルメーカーで検索条件の...
-
ファイルメーカーでレコード複...
-
PSQLで-- More --を表示しない方法
-
LIKEとINを同時に使いたい
-
access レポートで罫線...
-
Docmd.Findrecordで空白の検索方法
-
ファイルメーカーで該当件数を...
おすすめ情報