Access (的 Form.Bookmark 屬性)
使用 Bookmark 屬性搭配表單來設定書簽,以唯一識別表單基礎資料表、查詢或 SQL 語句中的特定記錄。 讀取/寫入的 Variant。
運算式。書簽
expression 代表 Form 物件的變數。
注意
您分別從基準資料表或查詢的 ADO Bookmark 或 DAO Bookmark 屬性中,取得或設定表單的 Bookmark 屬性。
當一個結合表單在表單檢視中被開啟,每一筆記錄都會被指定單一的書籤。 在 Visual Basic 之中,您可以將表單的 Bookmark 屬性值設定為一個字串變數,以儲存目前記錄的書籤。 移動到不同的記錄之後,若要回到一已儲存的記錄,請設定表單的 Bookmark 屬性為一個已儲存的字串變數。 使用 StrComp 函式比較 Variant 或字串變數與書簽,或比較書簽與書簽時。 StrComp 函數的第三個引數必須設定為零。
注意
書簽不會與它們所代表的記錄一起儲存,而且只有在表單開啟時才有效。 結合表單被開啟時,Microsoft Access 就會重新建立每一個書籤。
如果每個書簽都以唯一的字串變數儲存,則可以儲存的書簽數目沒有任何限制。
Bookmark 屬性只有在表單的現有記錄中才可用。 若要儲存除了現有的記錄以外的書籤,則移到需要的記錄和指定一個字串變數給 Bookmark 屬性以識別此記錄。
以完全以 Access 資料表為基礎的任何表單使用書簽。 不過,其他資料庫產品可能不支援書籤。 例如,在一個以沒有主索引的連結資料表為基礎的表單之中,您不能使用書籤。
重新查詢一個表單會使得表單中記錄上的任何書籤設定無效。 不過,選擇 [記錄] 功能表上的 [重新整理] 並不會影響書簽。
因為當表單開啟時,Access 會為表單記錄集中的每一筆記錄建立唯一的書簽,所以即使這兩個記錄集是以相同的資料表、查詢或 SQL 語句為基礎,表單的書簽也不會在另一個記錄集上運作。 例如,假設您開啟系結至 Customers 資料 表的表單。 如果您使用 Visual Basic 開啟 Customers 資料表,然後使用 ADO Seek 方法或 DAO Seek 方法來尋找資料表中的特定記錄,則無法將表單的 Bookmark 屬性設定為目前的資料表記錄。 若要執行這種作業,您可以使用 ADO Find 方法或 DAO Find 方法搭配表單的 RecordsetClone 屬性。
如果您設定 Bookmark 屬性為字串變數,然後嘗試在記錄被刪除後再回到該記錄時,就會發生錯誤。
Bookmark 屬性值與記錄號碼不同。
若要使用 Northwind 範例資料庫測試下列範例,您必須將名為 cmdFindContactName 的命令按鈕新增至 Suppliers 表單,然後將下列程式碼新增至按鈕的 Click 事件。 按一下按鈕時,使用者將被要求輸入連絡人的部分名稱以供尋找。 如果找到該名稱,此表單的 Bookmark 屬性就會被設定成 Recordset 物件的 DAO Bookmark 屬性,且該屬性會將表單現有記錄移動至所找到的記錄中。
Private Sub cmdFindContactName_Click()
Dim rst As DAO.Recordset
Dim strCriteria As String
strCriteria = "[ContactName] Like '*" & InputBox("Enter the " _
& "first few letters of the name to find") & "*'"
Set rst = Me.RecordsetClone
rst.FindFirst strCriteria
If rst.NoMatch Then
MsgBox "No entry found.", vbInformation
Else
Me.Bookmark = rst.Bookmark
End If
Set rst = Nothing
End Sub
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。