Нужно обновить datatable и набор записей в vb6 - PullRequest
1 голос
/ 18 марта 2011

В настоящее время я использую данные в форме с подключением adodb, которая работает нормально.Однако он не обнаруживает изменений для обновления.Я хочу поместить 2 набора записей, чтобы сравнить два, так как мне нужно имя столбца и измененная информация о столбце - старый и новый, поэтому я помещаю столбец в набор записей.

Если кто-то может подсказать мне, как сделать петлю или что-то еще, чтобы это сделать, пожалуйста !!!

1 Ответ

0 голосов
/ 21 марта 2011

Я не уверен, точно ли решает вашу проблему ... если вы хотите добавить столбец в набор записей, который может быть обновлен только в вашем коде (т.е. не может быть записан обратно в базу данных, потому что он не пришел из базы данных), тогда вы можете использовать поставщика OLE DB MsDataShape с его синтаксисом 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
...