您可以在 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
-
您可以參照表單或報表的記錄來源中但不顯示在表單或報表上的欄位。 在前述範例中, Description 或 CategoryID 表單或報表上都不得顯示任何專案,準則也一樣。
-
您可以使用邏輯運算子,例如<、>、AND、OR和BETWEEN。FindRecord動作只會比對等於、開頭或包含要搜尋之字串的字串。
範例
下列宏會先使用 OpenTable 動作開啟 類別資料 表。 然後宏會使用 SearchForRecord 宏動作,尋找資料表中的第一個記錄,其中描述欄位等於"飲料"。
動作 |
引數 |
OpenTable |
資料表名稱:類別 View:Datasheet 資料模式: 編輯 |
SearchForRecord |
物件類型: 表格 物件名稱:類別 記錄: 第一個 Where 條件:描述 = "飲料" |