任意のレコード位置を取得するには?

解決


マンボー  2003-10-15 09:41:38  No: 109123  IP: [192.*.*.*]

DataGridのアクティブ値からレコード位置を取得し、
レコード位置を移動させた後に、取得したレコード位置へ
復帰させたいのですがどうしたらいいのでしょう?

編集 削除
minami  2003-10-15 15:12:42  No: 109124  IP: [192.*.*.*]

元のレコード位置を覚えておき、後でその位置に戻るには
レコードセットのBookMarkプロパティを使います。

編集 削除
マンボー  2003-10-18 12:32:50  No: 109125  IP: [192.*.*.*]

〜 minamiさん返答有難うございます 〜
私もそのBookMarkプロパティを使用するのかな?と
思い試してみたのですが、うまく行きませんでした。
実際のコードにするとこんな感じになります。
①BookMarkを取得します。
②レコードを移動させます。
③取得したBookMarkにレコードを戻します。
④MsgBoxでBookMarkを表示させます。
Private Sub Command1_Click()
  Dim intBookmark As Integer
  rec.Open
  rec.MoveFirst
  intBookmark = rec.bookmark
  rec.MoveNext
  rec.Move intBookmark
  MsgBox rec.bookmark '← ★
End Sub
しかし、★ のところでエラーになってしまいます。
これってもともと私が勘違いでコードを書いているのでしょうか?

編集 削除
minami  2003-10-19 06:18:17  No: 109126  IP: [192.*.*.*]

まず、BookMarkプロパティはVariant型ですので、
Dim varBookMark As Variant が正しいです。
BookMarkは”何レコード目”っていう数値ではありません。

取得したBookMarkにレコードを戻す方法
rec.BookMark = varBookMark

エラー発生について:
バリアント型だからメッセージボックスで出せるものなのかどうか^^;
rec.Move intBookmark
で、どっか分けの判らんところへ移動してしまったせいかもしれませんが。

編集 削除
マンボー  2003-10-22 10:13:00  No: 109127  IP: [192.*.*.*]

minamiさんありがとです。
単に変数宣言が間違ってただけでしたね。^^;
お恥ずかしい。。。
今後も宜しくです。

編集 削除