2011-03-18 62 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