
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Accessのフォーム上にレコード数とレコード番号の表示
その他(データベース)
-
Access レポート印刷するときに1ページに収める方法
Access(アクセス)
-
Access「レコードの移動」マクロについて
Excel(エクセル)
-
-
4
Access サブフォームでの選択行の取得
その他(データベース)
-
5
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
6
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
7
Accessにインポートしたら並び順が変わっちゃった
Access(アクセス)
-
8
新規レコード行を非表示にしたい
Access(アクセス)
-
9
ACCESSのフォームで次のレコードに移動しない方法を教えてください
その他(データベース)
-
10
アクセスVBAのMe!と[ ]
Access(アクセス)
-
11
Access 指定したレコードへ移動
Access(アクセス)
-
12
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
13
アクセス IIfとSum関数を同時に使いたい場合
Access(アクセス)
-
14
access マクロでのフィルタの解除の方法
Access(アクセス)
-
15
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
16
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
17
Access2010マクロ メッセージボックスの改行
その他(Microsoft Office)
-
18
ACCESS クエリで1から順番に番号を表示したい
Access(アクセス)
-
19
accessでクエリをExcelにエクスポートする時にファイル名に日付を追加したい
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSのフォームで次のレコー...
-
Accessのレポートの集計に条件...
-
差込印刷で顧客別に複数行のデ...
-
FileMakerで特定のレコードのみ...
-
ファイルメーカーでサムネイル表示
-
PSQLで-- More --を表示しない方法
-
ACCESSでのランダムのレ...
-
Accessのフォームへ、記録者の...
-
ファイルメーカーでレコード複...
-
日付の加算・減算ってできますか?
-
accessのマクロで「一時変数設定」
-
ファイルメーカー 縦表示を横...
-
ファイルメーカーPro7での印刷...
-
Accessで最終レコードの削除に...
-
ADOで現在のレコードの次のレコ...
-
アクセスでのエクセルでいう行...
-
ファイルメーカー印刷時の改ページ
-
ACCESSのレコード操作で1つ前...
-
Docmd.Findrecordで空白の検索方法
-
ファイルメーカーで該当件数を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
差込印刷で顧客別に複数行のデ...
-
ACCESSのフォームで次のレコー...
-
PSQLで-- More --を表示しない方法
-
ADOで現在のレコードの次のレコ...
-
Accessのレポートの集計に条件...
-
ファイルメーカーで検索条件の...
-
「ファイルメーカー」で宛先の...
-
前レコードのテキストボックス...
-
ファイルメーカー印刷時の改ページ
-
accessのマクロで「一時変数設定」
-
Accessのフォームへ、記録者の...
-
ファイルメーカープロでレコー...
-
ファイルメーカーPro7での印刷...
-
アクセスデータベースのUnicode...
-
ACCESSのレコード操作で1つ前...
-
日付の加算・減算ってできますか?
-
ホスト汎用機でのNDBアクセス方法
-
ラベルをクリックしてレコード...
-
access2007のオートナンバーに...
-
ファイルメーカーで最大シリア...
おすすめ情報