必须在vb6中更新数据表和记录集

时间:2011-03-18 16:44:55

标签: vb6 datatable recordset

我目前正在使用adodb连接的表单上使用数据表运行正常。但是,它不会检测更新的更改。我想放两个记录集来比较两个记录集,因为我需要列名并更改了旧的和新的列信息,所以我在记录集中放了一个列。

如果有人可以告诉我怎么做循环或者需要做什么来完成这件事,请!!!!

1 个答案:

答案 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