DoCmd.SearchForRecord 方法 (Access)
使用 SearchForRecord 方法來搜尋資料表、查詢、表單或報表中的特定記錄。
語法
運算式。SearchForRecord (ObjectType、 ObjectName、 Record、 WhereCondition)
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
。請參閱表單或報表之記錄來源中但未顯示在表單或報表上的欄位。 在上述範例中,和 都
Description
CategoryID
不一定要顯示在表單或報表上,準則才能運作。使用邏輯運算子,例如 < 、 > 、 AND、 OR和 BETWEEN。 FindRecord 方法只會比對與搜尋字串相等、以搜尋字串開頭,或是包含搜尋字串的字串。
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。