以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]联动更新  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=1065)

--  作者:易服
--  发布时间:2008/11/6 17:17:00
--  [求助]联动更新
      有A表和B表,A表的C列来源于B表的D列,B表的D列调整后A表的C列也同步更新。

数据同步不能实现

在网络环境下,有可能你正在修改的数据,已经被其他人修改,为了得到最新版本的数据,可以使用同步功能。
   在A表编辑每行可以更新或剪切某列再粘贴可以全部更新,这样效率太低。
   还有什么好办法?


--  作者:狐狸爸爸
--  发布时间:2008/11/6 18:00:00
--  
在A表编辑每行可以更新或剪切某列再粘贴可以全部更新

这是什么意思? 不明白
--  作者:易服
--  发布时间:2008/11/6 23:17:00
--  
总览表事件AFTEREDIT:
Dim dr As DataRow
dr = DataTables("树种").Find("[主要树种] = \'" & e.Row("造林树种_主要树种") & "\' ")
If dr IsNot Nothing Then 
    e.Row("造林措施设计_造林密度") =  dr("造林密度") 
    e.Row("模型号") = dr("模型号")
    e.Row("植被类型") = dr("植被类型") \'
    e.Row("种苗_苗木规格") = dr("苗木规格")
     e.Row("林种") = dr("林种")
End If
例如总览表的"造林措施设计_造林密度"列来源于"树种"的"造林密度"列,当改变其数值后,无论点击行同步还是表同步总览表的"造林措施设计_造林密度"列不会变化,只有编辑总览表一行时该行"造林措施设计_造林密度"才能变化,如果要更新整列,剪切某列再粘贴可以全部更新,这是笨办法效率太低,我要的是自动更新
   
[此贴子已经被作者于2008-11-6 23:29:18编辑过]

--  作者:kylin
--  发布时间:2008/11/7 7:51:00
--  
关于值的改变主要的是参考datacolchanged事件
--  作者:程兴刚
--  发布时间:2008/11/7 8:04:00
--  

提问最好上传附件,否则,别人无从下手,尤其是不能理解您的描述的时候!


--  作者:易服
--  发布时间:2008/11/7 8:42:00
--  
文件在“合并按钮功能”帖子
--  作者:狐狸爸爸
--  发布时间:2008/11/7 8:56:00
--  

如果要更新整列,剪切某列再粘贴可以全部更新,这是笨办法效率太低,我要的是自动更新?

4楼的兄弟已经告诉你原因了,你应该将这样的代码设置在DataColChanged事件中,而不是AfterEdit事件中。


--  作者:易服
--  发布时间:2008/11/7 10:05:00
--  
搞不好啊
--  作者:狐狸爸爸
--  发布时间:2008/11/7 10:08:00
--  
Dim dr As DataRow
If e.DataCol.Name = "造林树种_主要树种" Then
    dr = DataTables("树种").Find("[主要树种] = \'" & e.DataRow("造林树种_主要树种") & "\' ")
    If dr IsNot Nothing Then 
        e.DataRow("造林措施设计_造林密度") =  dr("造林密度") 
        e.DataRow("模型号") = dr("模型号")
        e.DataRow("植被类型") = dr("植被类型") \'
        e.DataRow("种苗_苗木规格") = dr("苗木规格")
        e.DataRow("林种") = dr("林种")
    End If
End if

--  作者:易服
--  发布时间:2008/11/7 10:53:00
--  
还是不更新
在“树种”表桤木的造林密度由原来的167改为111,“总览”表"造林措施设计_造林密度"仍然为167而不是111