2012-03-06 58 views
0

ADODB記錄過濾器,我使用下面的代碼在Windows 7未過濾記錄

Public rs As New ADODB.Recordset 
------------------------------------ 
If rs.State = 1 Then rs.Close 
com.ActiveConnection = con 
com.CommandText = "Select * from Table" 

On Error Resume Next 
rs.CursorLocation = adUseClient 
rs.CursorType = adOpenDynamic 

Set rs = com.Execute 
rs.Filter = "Filterdata" //not filtering Recordset in Win-7 

上面的代碼WIN-XP工作的罰款。

@Remou: 例如:假設RS包含 「A」, 「B」, 「C」, 「A」, 「C」, 「A」 值 我爲歌廳濾波數據 「A」 值只要。我的代碼是:rs.Filter = "A"

+0

你的意思是Filterdata,沒有引號? Filterdata的內容是什麼? – Fionnuala 2012-03-06 16:26:54

+0

嘗試'「MyField = 3」'而不是'「Filterdata」'。僅供參考,對於光標位置使用'adUseClient'總是會導致記錄集類型爲'adOpenStatic',並且它使用只前向「firehose」遊標從服務器中獲取它。 – wqw 2012-03-06 20:12:42

回答

0

您可以嘗試直接在SQL查詢中通過where子句使用過濾器 - 如果它有效,則可以安全地假定數據不是問題。 另外,AFAIK,Filter命令會期望fieldname = value語法。 select語句返回多少個字段?