我目前正在使用adodb连接的表单上使用数据表运行正常。但是,它不会检测更新的更改。我想放两个记录集来比较两个记录集,因为我需要列名并更改了旧的和新的列信息,所以我在记录集中放了一个列。
如果有人可以告诉我怎么做循环或者需要做什么来完成这件事,请!!!!
答案 0 :(得分:0)
我不确定是否确切地解决了您的问题...如果您想将列添加到只能在代码中更新的记录集(即无法写回数据库)因为它不是来自数据库)然后您可以使用MsDataShape OLE DB提供程序及其SHAPE...APPEND
语法,例如
Sub MSDataShape_AddNewCol()
Dim rs As ADODB.Recordset
Set rs = CreateObject("ADODB.Recordset")
With rs
.ActiveConnection = _
"Provider=MSDataShape;" & _
"Data Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Tempo\My_Access_DB.mdb"
.Source = _
"SHAPE {" & _
" SELECT ExistingField" & _
" FROM ExistingTable" & _
" ORDER BY ExistingField" & _
"} APPEND NEW adNumeric(5, 4) AS NewField"
.LockType = adLockBatchOptimistic
.Open
Dim i As Long
For i = 0 To .RecordCount - 1
.Fields("NewField").Value = Round(.Fields("ExistingField").Value, 4)
.MoveNext
Next
rs.Save "C:\rs.xml", adPersistXML '
End With
End Sub