我目前使用的是一个带有adodb连接,运行良好的表单上的可数据。但是,它没有检测到要更新的更改。我希望放置两个记录集来比较这两个记录集,因为我需要列名,并更改了旧的和新的列信息,所以我在记录集中放了一列。
如果有人可以鞋我如何做循环或任何需要完成这一点请!
发布于 2011-03-21 00:30:00
我不确定是否真的解决了你的问题..。如果您想要向记录集中添加一个只能在代码中更新的列(即不能写回数据库,因为它不是来自数据库),那么您可以使用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
https://stackoverflow.com/questions/5355167
复制相似问题