共用方式為


DoCmd.SearchForRecord 方法 (Access)

使用 SearchForRecord 方法來搜尋資料表、查詢、表單或報表中的特定記錄。

語法

運算式SearchForRecord (ObjectTypeObjectNameRecordWhereCondition)

expression 代表 DoCmd 物件的變數。

參數

名稱 必要/選用 資料類型 描述
ObjectType Optional AcDataObjectType AcDataObjectType 常數,指定您在搜尋的資料庫物件類型。 預設值為 acActiveDataObject
ObjectName Optional Variant 包含要搜尋之記錄的資料庫物件名稱。
Record 選用 AcRecord AcRecord 常數,指定搜尋的起始點及方向。 預設值為 acFirst
WhereCondition 選用 Variant 用來找出記錄的字串。 它就像 SQL 語句中的 WHERE 子句,但沒有 WHERE 這個字。

註解

如果有多筆記錄符合 WhereCondition 引數中的準則,則下列因素會決定所找到的記錄:

  • Record 引數設定。

  • 記錄的排序順序。 比方說,如果 Record 引數設為 acFirst,則變更記錄的排序順序就可能會改變所找到的記錄。

在執行此動作之前,必須先開啟 ObjectName 引數中指定的物件。 否則會發生錯誤。

如果不符合 WhereCondition 引數中的準則,則不會發生錯誤,而且焦點會停留在目前記錄上。

在搜尋上一筆或下一筆記錄時,搜尋動作到達資料結尾後並不會自動「折返」。 如果接續的記錄都不符合準則,將不會發生任何錯誤,而且焦點仍停留在目前記錄上。 若要確認已經找到符合項目,可以在下一個巨集指令中輸入條件,而且這個條件要與 WhereCondition 引數中的準則相同。

SearchForRecord方法類似于FindRecord方法,但SearchForRecord具有更強大的搜尋功能。 FindRecord方法主要用於尋找字串,而且會複製 [尋找] 對話方塊的功能。 SearchForRecord方法會使用比篩選或 SQL 查詢更像的準則。

下列清單示範您可以使用 SearchForRecord 方法執行的一些動作:

  • WhereCondition 自 變數中使用複雜準則,例如 Description = "Beverages" and CategoryID = 11

  • 請參閱表單或報表之記錄來源中但未顯示在表單或報表上的欄位。 在上述範例中,和 都 DescriptionCategoryID 不一定要顯示在表單或報表上,準則才能運作。

  • 使用邏輯運算子,例如 <>ANDORBETWEENFindRecord 方法只會比對與搜尋字串相等、以搜尋字串開頭,或是包含搜尋字串的字串。

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應