Foxtable(狐表)用户栏目专家坐堂 → [求助父表与子表同步加载多列关联怎写?


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

主题:[求助父表与子表同步加载多列关联怎写?

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


加好友 发短信
等级:一尾狐 帖子:422 积分:2708 威望:0 精华:0 注册:2012/2/10 18:12:00
[求助父表与子表同步加载多列关联怎写?  发帖心情 Post By:2014/7/6 15:27:00 [只看该作者]

父表与子表同步加载之二

语法

LoadChildren(子表名称)
LoadChildren(子表名称, 父表关联列名称, 子表关联列名称)

由LoadChildren的语法可以看出,如果父表和子表没有建立关联,我们可以通过指定关联列来实现同步加载,例如:

DataTables("订单").LoadChildren("订单明细", "订单编号", "订单编号")


上面是单列关联的代码,

我的问题是,若是二列以上关联,代码如何写?请帮我.


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/6 15:30:00 [只看该作者]


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


加好友 发短信
等级:一尾狐 帖子:422 积分:2708 威望:0 精华:0 注册:2012/2/10 18:12:00
  发帖心情 Post By:2014/7/7 8:51:00 [只看该作者]

若是跨表统计的自动更新,统计表的DataColChanged事件 中设置如下代码:

If e.DataCol.Name = "产品" Then
    e.DataRow("数量") = DataTables("订单").Compute("Sum(数量)","[产品] = '" & e.NewValue & "'")
End
If

订单表的DataColChanged事件代码设置为:

If e.DataCol.Name = "数量" Then
    Dim pr As DataRow
    pr =
DataTables("统计").Find("产品 = '" & e.DataRow("产品") & "'")
    If
pr IsNot Nothing
Then
        pr(
"数量")= pr("数量") + e.NewValue - e.OldValue
    End
If
End
If


现在的问题是统计表和订单表不止是依[产品]一列,要是二列以上怎办?


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/7/7 8:53:00 [只看该作者]

("产品 = '" & e.DataRow("产品") & "' and 第二列='123'")

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


加好友 发短信
等级:一尾狐 帖子:422 积分:2708 威望:0 精华:0 注册:2012/2/10 18:12:00
  发帖心情 Post By:2014/7/10 20:36:00 [只看该作者]

系统的项目窗口的最大化按钮等的代码是什么?在系统命令大全中没找到,我想把它设置在我的窗中
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140710202756.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/10 20:38:00 [只看该作者]

 最小化 baseMainform.WindowState = 0

 

 正常 baseMainform.WindowState = 1

 

 最大化 baseMainform.WindowState = 2


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


加好友 发短信
等级:一尾狐 帖子:422 积分:2708 威望:0 精华:0 注册:2012/2/10 18:12:00
  发帖心情 Post By:2014/7/12 18:45:00 [只看该作者]

那普通的窗口的最大化按钮等的代码是什么?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/13 9:33:00 [只看该作者]

以下是引用jk362223在2014-7-12 18:45:00的发言:
那普通的窗口的最大化按钮等的代码是什么?

 

Forms("窗口1").BaseForm.WindowState = 2


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


加好友 发短信
等级:一尾狐 帖子:422 积分:2708 威望:0 精华:0 注册:2012/2/10 18:12:00
  发帖心情 Post By:2014/7/26 15:57:00 [只看该作者]

若表A ,表B ,表 C.   表B是表A的子表,通过表A的AfterLoad中
If DataTables.Contains(" 表A ") Then
If e.DataTable.Name = " 表A " ThenDataTables(" 表A ").LoadChildren(" 表B ", "身份证号", "身份证号")
  End If
End If   表C是表B的子表,也用上述代码关联,现希望表C随表A加载,代码如何写?图片点击可在新窗口打开查看

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


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

表A的AfterLoad事件:
 
DataTables(" 表A ").LoadChildren(" 表B ", "身份证号", "身份证号")
DataTables(" 表B ").LoadChildren(" 表C ", "身份证号", "身份证号")
 

 回到顶部
总数 11 1 2 下一页