初始数据从其它表中调出,修改后数据不一定等于初始数据.所以我想把一个字段绑定在两个表中,让修改后的数据直接填写到另外一张表中.(如修改后的数据=初始数据,则把初始数据填写到新表中,如修改后的数据<>初始数据,则把修改后的数据填写到新表中)
使用控件是ADO和DATAGRID绑定的.请大家帮看看,我得怎么做啊,或是有什么别的方法可以实现啊.

解决方案 »

  1.   

    Adodc1.Recordset.Fields(0)=Text1.Text
       Adodc1.Recordset.Fields(1)=Text2.Text
       ......
      这样就可以实现!
      最好的方式是用ADO对象编程.
      

  2.   

    给你一个思路:
    定义一个窗体级的无源recordset
    '定义一个动态数组a()用于记录你要记录的初始值
    dim a() 
    dim adoRecordset as new adodb.recordset
    Private Sub Form_Load()
      adoRecordset.Fields.Append "f1", adVariant, , adFldMayBeNull + adFldIsNullable + adFldUpdatable
      adoRecordset.Fields.Append "f2", adVariant, , adFldMayBeNull + adFldIsNullable + adFldUpdatable
      adoRecordset.Fields.Append "f3", adVariant, , adFldMayBeNull + adFldIsNullable + adFldUpdatable
      adoRecordset.Fields.Append "f4", adVariant, , adFldMayBeNull + adFldIsNullable + adFldUpdatable
      adoRecordset.Fields.Append "f5", adVariant, , adFldMayBeNull + adFldIsNullable + adFldUpdatable
    end sub
    '从你的初始数据的表读出数据来并显示到datagrid中,redim a(adoRecordset.recordcount-1)然后来个循环把那个字段的z值日都记录到对应的数组元素中
    当你处理的时候,假设你是用command1_click来处理的
    又来个循环来判断adoRecordset("那个字段")是否等于a(i)
    如果等于的你就将adoRecordset的那条记录addnew到新表中就可以了不过看你的要求  "(如修改后的数据=初始数据,则把初始数据填写到新表中,如修改后的数据<>初始数据,则把修改后的数据填写到新表中)"
    好奇怪,倒不如直接把adoRecordset里的所有记录都保存到一个新表了就可以了,根本就不用判断是否相等,因为原来的表的数据在这里根本是不会被修改.
      

  3.   

    谢谢bulletCoderHope(小子)
    请问:如何把所有记录都保存到一个新表啊,我现在做的是新表修改原来表的数据也修改了。