2011-03-18 2 views
1

현재 실행중인 adodb 연결이있는 양식에서 datable을 사용하고 있습니다. 그러나 업데이트에 대한 변경 사항을 감지하지는 못합니다. 두 열을 비교하여 두 열을 비교하여 열 이름을 필요로하고 열 정보를 이전 및 새 열로 변경하여 열에 레코드를 추가하려고합니다.vb6에서 데이터 테이블과 레코드 세트를 업데이트해야합니다.

누군가 내게 나를 구부릴 수 있다면 루프를 수행하는 방법이나이 작업을 수행하는 데 필요한 것이 무엇이든지 !!!

+0

당신이 말하는 것을 이해할 수 있도록 몇 가지 샘플 코드를 게시하십시오. 감사. –

답변

0

정확하게 문제를 해결할 수 있는지 확실하지 않습니다 ... 코드에서으로 업데이트 할 수있는 레코드 세트에 열을 추가하려는 경우 (즉, 데이터베이스에 다시 쓸 수 없습니다. 데이터베이스에서 온 경우) SHAPE...APPEND 구문과 함께 MsDataShape OLE DB 공급자를 사용할 수 있습니다.

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