Foxtable(狐表)用户栏目专家坐堂 → 请帮助完成?


  共有6791人关注过本帖树形打印复制链接

主题:请帮助完成?

帅哥哟,离线,有人找我吗?
lyfxybc
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1294 积分:9852 威望:0 精华:0 注册:2012/9/19 21:13:00
请帮助完成?  发帖心情 Post By:2013/4/28 0:07:00 [只看该作者]

请帮助完成?

有三个表:A、B、C,都有“合同号”和“计划完成”两列,下列代码只能完成当三个表中数据都显示的时候可以,

For Each r As Row In Tables("表A").Rows
    For Each  r1 As Row In Tables("表B").Rows
       If r("合同号")= r1("合同号") Then
           r1("计划完成")= r("计划完成")     
       End If
    Next
    For Each  r2 As Row In Tables("表C").Rows
       If r("合同号")= r2("合同号") Then
           r2("计划完成")= r("计划完成")     
       End If
    Next
Next

 

但是当表B、C在 BeforeLoadInnerTable事件中加入代码

Select Case e.DataTableName
   
Case "表B","表C" 
        e.Filter =
"[_Identify] Is Null"
End
Select

 

时,执行上述代码,表B、C的“计划完成”列不执行。如何修改代码完成上述要求。

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目1.foxdb


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/4/28 9:54:00 [只看该作者]

你的代码是针对已经加载的数据,表B和表C没有加载数据,上述代码当然无效。

不加载数据有不加载数据的处理方法,用SQL语句:

 

Dim cmd As new SQLCommand
For Each r As Row In Tables("表A").Rows
    cmd.CommandText = "update {表B} Set 计划完成 = " & r("计划完成") & " Where [合同号] = '" & r("合同号") & "'"
    cmd.ExecuteNonQuery
    cmd.CommandText = "update {表C} Set 计划完成 = " & r("计划完成") & " Where [合同号] = '" & r("合同号") & "'"
    cmd.ExecuteNonQuery
Next

 

http://www.foxtable.com/help/topics/0690.htm

 

 

我个人建议你尽量将相关数据统一加载处理,例如你要处理某些合同的数据,那么每个表和这些合同相关的数据最好都加载进来。

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
lyfxybc
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1294 积分:9852 威望:0 精华:0 注册:2012/9/19 21:13:00
  发帖心情 Post By:2013/4/28 17:15:00 [只看该作者]

谢谢,我再考虑一下。

 回到顶部