这个意思?重新构造'定义另一个记录集Dim objrs As New ADODB.Recordset '添加字段名称For lCount = 0 To adoPrimaryRS.Fields.Count - 1 objrs.Fields.Append adoPrimaryRS.Fields(lCount).Name, adVarChar, adoPrimaryRS.Fields(lCount).DefinedSize Next '打开记录集objrs.Open '将指定记录数循环添加到objrs中 For lCount = 1 To nPageSize objrs.AddNew objrs!id = adoPrimaryRS!id objrs!anumber = adoPrimaryRS!anumber adoPrimaryRS.MoveNext Next
或者使用xml处理 Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Private Sub Command1_Click() rs.CursorLocation = adUseClient rs.Open "Select * from students", cn, adOpenStatic, adLockBatchOptimistic MsgBox rs.RecordCount '保存为XML rs.Save "c:\bbb.xml", adPersistXML rs.Close '读取XML文件 rs.Open "c:\bbb.xml", cn, adOpenStatic, adLockReadOnly, adCmdFile MsgBox rs.RecordCount rs.Close End SubPrivate Sub Form_Load() If cn.State = 1 Then cn.Close End If cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\db1.mdb" End Sub
还是那个rs呀。比如: Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim str As String conn.Open "dsn=sales" rs.Open "user", conn, adOpenStatic, adLockReadOnly rs.Filter = "user like 'y%'" fillgrid rs, MSGrid1 rs.Close Set rs = Nothing
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Private Sub Command1_Click()
rs.CursorLocation = adUseClient
rs.Open "Select * from students", cn, adOpenStatic, adLockBatchOptimistic
MsgBox rs.RecordCount
'保存为XML
rs.Save "c:\bbb.xml", adPersistXML
rs.Close
'读取XML文件
rs.Open "c:\bbb.xml", cn, adOpenStatic, adLockReadOnly, adCmdFile
MsgBox rs.RecordCount
rs.Close
End SubPrivate Sub Form_Load()
If cn.State = 1 Then
cn.Close
End If
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\db1.mdb"
End Sub
现有一个rs,当前它为满足某条件的记录集,我现在要在rs集里筛选满足某条件的记录集,将它们显示在datagrid控件上,并且,我想把过滤后的记录集替换掉rs里面的记录,那么,现在rs里的记录集就变成过滤后的记录集,rs里的记录的变化过程为:原记录集-变成经过筛选后的记录。就是这样简单!呵呵``我的问题就是怎样把原记录集变成过滤后的记录?
//用filter过滤,rs暂时变成一个新的符合过滤的"记录集"(原记录集并没有丢失),除非filter=""rs里的记录的变化过程为:原记录集-变成经过筛选后的记录
//是不是要不满足过滤条件的记录?
//把filter的过滤条件前加一个NOT
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim str As String
conn.Open "dsn=sales"
rs.Open "user", conn, adOpenStatic, adLockReadOnly
rs.Filter = "user like 'y%'"
fillgrid rs, MSGrid1
rs.Close
Set rs = Nothing