使用 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 支援與意見反應。