SearchForRecord 宏動作

您可以在 Access 桌面資料庫中使用 SearchForRecord 宏動作,在資料表、查詢、表單或報告中搜尋特定記錄。

設定

SearchForRecord宏宏動作具有下列引數。

巨集指令引數

描述

物件類型

輸入或選取要搜尋的資料庫物件類型。 您可以選取資料表、查詢、表單報表

物件名稱

輸入或選取包含要搜尋之記錄的特定物件。 下拉式清單會顯示您為物件類型引數選取之類型 的所有資料庫 物件。

記錄

指定搜尋的起點和方向。

設定

描述

上一個

從目前記錄向後搜尋。

下一個

從目前的記錄向前搜尋。

名字

從第一個記錄向前搜尋。 這是此引數的預設值。

姓氏

從最後一個記錄向後搜尋。

Where 條件

使用與 SQL WHERE 子句相同的語法輸入搜尋準則,但不含 "WHERE" 一詞。 例如,

Description = "Beverages"

若要建立包含表單上文字方塊值的準則,您必須建立一個運算式,將準則的第一部分與包含要搜尋之值的文字方塊名稱進行連接。 例如,下列準則會搜尋描述欄位,尋找名為 frmCategories 之表單上名為 txtDescription 之文字方塊中的值。 請注意, (=) 開頭的等號 ,以及文字方塊參照任一側使用單引號 (') ' 符號:

="Description = '" & Forms![frmCategories]![txtDescription] & "'"

註解

  • 如果多個記錄符合 Where 條件 引數中的準則,下列因素會決定找到哪一個記錄:

    • 記錄引數設定   請參閱設定區段的表格,以瞭解有關 Record 引數的資訊。

    • 記錄的排序次序    例如,如果 Record 引數設為 First,變更記錄的排序次序可能會變更找到的記錄。

  • 執行此動作之前, 必須在物件名稱 引數中指定的物件為開啟狀態。 否則,會發生錯誤。

  • 如果 Where 條件 引數中的準則未符合,則不會發生錯誤,且焦點會維持在目前的記錄上。

  • 搜尋上一個或下一個記錄時,當搜尋到達資料的結尾時,搜尋不會「自動換行」。 如果沒有任何符合準則的記錄,則不會發生錯誤,且焦點會保留在目前的記錄上。 若要確認找到相符專案,您可以輸入下一個動作的條件,使條件與 Where 條件引數 中的準則相同

  • 若要在 VBA 模組中執行SearchForRecord動作,請使用DoCmd 物件的 SearchForRecord方法。

  • SearchForRecord宏宏動作與 FindRecord宏動作類似,但SearchForRecord具有更強大的搜尋功能。 FindRecord宏動作主要用來尋找字串,而且會複製[尋找方式> 對話方塊的功能。 SearchForRecord宏會使用類似篩選或 SQL 查詢的準則。 下列清單將示範您可以使用 SearchForRecord 宏動作執行一些操作:

    • 您可以在 Where 條件 引數中使用複雜的準則,例如

描述 = "飲料" 和 CategoryID = 11

  • 您可以參照表單或報表的記錄來源中但不顯示在表單或報表上的欄位。 在前述範例中, DescriptionCategoryID 表單或報表上都不得顯示任何專案,準則也一樣。

  • 您可以使用邏輯運算子,例如<、>、AND、ORBETWEEN。FindRecord動作只會比對等於、開頭或包含要搜尋之字串的字串。

範例

下列宏會先使用 OpenTable 動作開啟 類別資料 表。 然後宏會使用 SearchForRecord 宏動作,尋找資料表中的第一個記錄,其中描述欄位等於"飲料"。

動作

引數

OpenTable

資料表名稱:類別

ViewDatasheet

資料模式編輯

SearchForRecord

物件類型表格

物件名稱:類別

記錄第一個

Where 條件:描述 = "飲料"

需要更多協助?

增進您的 Office 技巧
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

×