ブックマークを保存する

レコードにブックマークを保存すると、いつでもその位置に移動することができます。
ブックマークを保存するには、Bookmarkプロパティを使用します。



Homeに戻る > Excel データベースのTipsへ

実行画面

顧客管理データベースを使用しました。
サンプルソフトでは、ボタンの順に実行します。

1. DBを開く (この時点でレコード位置は1番目)
2. ブックマークをセット
  1) 100番目のレコード位置に移動
  2) D列に読み出したデータを表示
  3) ブックマークを保存
  4) 1番目のレコード位置に戻す
までを実行した画面です。
ブックマークをセットするところまで

3. ブックマークへ移動
  1) ブックマークへ移動
  2) E列に読み出したデータを表示
までを実行した画面です。
D列とE列を比べると、正常にブックマークが保存され読み出されたことが分かります。
ブックマークに移動し読み出したところ

コード

Option Explicit

Private db As ADODB.Connection
Private rs As ADODB.Recordset
Private bkmark As Variant

Private Sub CommandButton1_Click()
    '100件目のレコードに移動
    rs.AbsolutePosition = 100
    
    '値をセルにセット
    Range("D4") = rs("顧客ID")
    Range("D5") = rs("顧客名")
    Range("D6") = rs("郵便番号")
    Range("D7") = rs("住所")
    Range("D8") = rs("TEL")
    Range("D9") = rs("FAX")
    Range("D10") = rs("メモ")
    
    'ブックマークを付ける
    bkmark = rs.Bookmark
    '先頭レコードへ移動
    rs.MoveFirst
End Sub

Private Sub CommandButton2_Click()
    '顧客管理のACCDBファイルに接続します
    Set db = New ADODB.Connection
    db.Provider = "Microsoft.Ace.OLEDB.12.0"
    db.Open "C:\MyHP\ExcelTips\顧客管理.accdb"

    'レコードセットを開きます
    Set rs = New ADODB.Recordset
    '顧客テーブルを開きます
    rs.Open "T_顧客マスター2000件", db, adOpenKeyset, adLockOptimistic
    'この時点で先頭レコード
End Sub

Private Sub CommandButton3_Click()
    'ブックマーク位置へ移動
    rs.Bookmark = bkmark
    
    '値をセルにセット
    Range("E4") = rs("顧客ID")
    Range("E5") = rs("顧客名")
    Range("E6") = rs("郵便番号")
    Range("E7") = rs("住所")
    Range("E8") = rs("TEL")
    Range("ED9") = rs("FAX")
    Range("E10") = rs("メモ")
   
End Sub

Private Sub CommandButton4_Click()
    '閉じる
    rs.Close
    db.Close
    '終了処理
    Set rs = Nothing
    Set db = Nothing
End Sub



Homeに戻る > Excel データベースのTipsへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved