CDaoRecordset::Seek
呼叫此成員函式來偵測記錄符合目前索引的指定準則的之索引的資料表) 的資料錄集物件並進行記錄中目前的資料錄。
BOOL Seek(
LPCTSTR lpszComparison,
COleVariant* pKey1,
COleVariant* pKey2 = NULL,
COleVariant* pKey3 = NULL
);
BOOL Seek(
LPCTSTR lpszComparison,
COleVariant* pKeyArray,
WORD nKeys
);
參數
lpszComparison
下列字串運算式的其中一個:「<」, <=」, 「=」, >=」或「>」。pKey1
將值對應至索引的第一個欄位的 COleVariant 的指標。 必要項。pKey2
將值對應至索引的第二個欄位的 COleVariant 的指標,,如果有的話。 為 NULL的預設值。pKey3
將值對應至索引的第三個欄位的 COleVariant 的指標,,如果有的話。 為 NULL的預設值。pKeyArray
為的指標變數。 陣列大小對應欄位數目的索引。nKeys
使用陣列對應的大小的整數,為欄位數目的索引。注意事項 請不要指定萬用字元在索引鍵。萬用字元不會導致 Seek 傳回符合的記錄。
傳回值
如果不是零,則比對資料目錄中找到,則為 0。
備註
使用 Seek 第二個 (陣列) 版本處理四個欄位或多個索引。
Seek 啟用搜尋資料表的資料錄集的高效能的索引。 您必須呼叫 SetCurrentIndex 設定目前索引。 Seek之前呼叫。 如果索引識別非唯一的索引鍵欄位, Seek 尋找符合準則的第一個記錄檔。 如果您未設定索引,便會擲回例外狀況。
請注意,如果您不建立 UNICODE 資料錄集,必須明確宣告 COleVariant 物件 ANSI。 您可以使用建構函式 COleVariant::COleVariant( lpszSrc**,** vtSrc ) 表單與 vtSrc 的設定為 VT_BSTRT (ANSI) 或使用 COleVariant 函式 SetString( lpszSrc**,** vtSrc ) 和 vtSrc 設為 VT_BSTRT。
當您呼叫 Seek時,您會將一或多個索引鍵值與比較運算子 (" <」, <=」, 「=」, >=」或「> ")。 Seek 傳遞指定的索引鍵欄位、搜尋和偵測和 pKey1lpszComparison 符合指定準則的第一個記錄檔。 一旦找到, Seek 傳回非零,並讓該資料錄目前。 如果 Seek 沒有找到符合的項目, Seek 傳回,如果為零,且目前的資料錄是未定義的。 當直接使用時 DAO,您必須明確地檢查 NoMatch 屬性。
如果 lpszComparison 為「=」, >=」或「>」, Seek 索引開頭。 如果 lpszComparison 為「<」或「<=」, Seek 開始索引和結束時反向搜尋,除非有重複的項目放在結尾。 在這種情況下, Seek 開始複製項目中的選擇性輸入索引的結尾。
因此,使用 Seek時,不需要有目前的資料錄。
若要偵測記錄符合特定條件的動態集 (Dynaset) 或快照集類型資料錄集,請使用尋找作業。 要將所有資料錄,不僅符合特定條件的項目,請使用移動作業會從資料錄捲動至資料錄。
因為必須開啟附加的資料表為動態集 (Dynaset) 或快照集類型資料錄集,您不能呼叫任何型別之其他資料表的 Seek 。 不過,如果您呼叫, CDaoDatabase::Open 直接開啟可安裝的 ISAM 資料庫,您可以對資料表的 Seek 該資料庫,不過,效能可能會很慢。
如需相關資訊,請參閱本主題<搜尋方法」DAO 說明。
需求
Header: afxdao.h