2011-03-18 59 views
1

我目前正在使用adodb连接运行正常的窗体上使用datable。但它不检测更新更新。我想把两个记录集比较两个,因为我需要列名称和更改列信息的旧和新,所以我把一列记录集。必须更新vb6中的数据表和记录集

如果有人可以给我鞋如何做循环或任何需要做到这一点,请!!!

+0

请张贴一些示例代码,以便我们可以理解您在说什么。谢谢。 – 2011-03-18 20:29:57

回答

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