0
我有一個數據表視圖的子表單。在父窗體上,我試圖根據子數據表中選擇的內容編輯記錄。表單不使用主/子字段鏈接。從數據表中的選定記錄獲取記錄集
我能夠得到所選的最上面的一行以及使用SelTop和SelHeight所選擇的行數如下。
Dim rs As New ADODB.Recordset
Set rs = Me.Child_Form.Form.RecordsetClone
If SelHeight > 0 Then
rs.MoveFirst
rs.Move SelectionTop - 1
For i = 1 To SelectionHeight
If Not rs.EOF Then
Debug.Print rs("ID")
rs.MoveNext
End If
Next i
End If
我不能做的就是,比如說,選擇子窗體上的10條記錄,如果我有過濾或排序形式的。 Filter
s和Sort
s處於表單級別,不能應用於基礎記錄集。
我試着查詢像這樣
sql = "Select * from [" & Me.RecordSource & "] where " & Replace(Me.Filter, """", "'") & " order by " & Me.OrderBy
創造一個新的記錄,但這裏有多個問題。 1)ADO不支持表單過濾器有時會生成的IN子句,2)訂單順序不總是相同且可預測的。
如何獲得已排序的過濾記錄集並僅查找用戶在數據表視圖中選擇的記錄?
我正在使用ADP文件連接到Sql Server。