Find 方法 (ADO)
搜尋 Recordset (部分機器翻譯) 以尋找滿足指定準則的資料列。 您可以選擇性地指定搜尋的方向、起始資料列,以及從起始資料列的位移。 如果符合準則,則會將目前資料列位置設定在找到的記錄上;否則會將位置設定在 Recordset 的結尾 (或開頭)。
語法
Find (Criteria, SkipRows, SearchDirection, Start)
參數
準則
String 值,包含指定要在搜尋中使用的資料行名稱、比較運算子與值的陳述式。
SkipRows
選擇性。 Long 值,其預設值為零,並能指定從目前資料列或 Start 書籤的位移以開始搜尋。 根據預設,搜尋會從目前的資料列開始。
SearchDirection
選擇性。 SearchDirectionEnum 值,指定搜尋應該從目前資料列開始,還是從搜尋方向的下一個可用資料列開始。 如果值為 adSearchForward,則不成功的搜尋會在 Recordset 的結尾停止。 如果值為 adSearchBackward,則不成功的搜尋會在 Recordset 的開頭停止。
開始
選擇性。 Variant 書籤,可作為搜尋的起始位置。
備註
Criteria 中只能指定單一資料行名稱。 此方法不支援多資料行搜尋。
Criteria 中的比較運算子可以是 ">" (大於)、"<" (小於)、"=" (等於)、">=" (大於或等於)、"<=" (小於或等於)、"<>" (不等於) 或 "like" (模式比對)。
Criteria 中的值可以是字串、浮點數或日期。 字串值是以單引號或 "#" (數字記號) 分隔 (例如 "state = 'WA'" 或 "state = #WA#")。 日期值是以 "#" (數字記號) 分隔 (例如 "start_date > #7/22/97#")。 這些值可以包含時、分與秒來表示時間戳記,但不應包含毫秒,否則會產生錯誤。
如果比較運算子為 "like",則字串值可以包含星號 (*),以尋找任何字元或子字串的一或多個出現位置。 例如,"state like 'M*'" 會比對 Maine 與 Massachusetts。 您也可以使用前置與尾端星號來尋找值內所包含的子字串。 例如,"state like '*as*'" 會比對 Alaska、Arkansas 與 Massachusetts。
星號只能在準則字串的結尾,或同時在準則字串的開頭與結尾使用,如上所示。 您無法使用星號作為前置萬用字元 ('*str') 或內嵌萬用字元 ('s*r')。 這會導致錯誤。
注意
如果在呼叫 Find 之前未設定目前資料列位置,就會發生錯誤。 呼叫 Find 之前,應該先呼叫設定資料列位置的任何方法,例如 MoveFirst (英文)。
注意
如果您在資料錄集上呼叫 Find 方法,而資料錄集中的目前位置位於最後一筆記錄或檔案結尾 (EOF),則您將不會找到任何項目。 您必須呼叫 MoveFirst 方法,將目前的位置/資料指標設定為資料錄集的開頭。