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

解決


マンボー  2003-10-15 18:41:38  No: 109123

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


minami  2003-10-16 00:12:42  No: 109124

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


マンボー  2003-10-18 21:32:50  No: 109125

〜 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 15:18:17  No: 109126

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

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

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


マンボー  2003-10-22 19:13:00  No: 109127

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加