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。