Foxtable(狐表)用户栏目专家坐堂 → [求助]请问此种功能怎么实现呢?


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

主题:[求助]请问此种功能怎么实现呢?

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


加好友 发短信
等级:婴狐 帖子:12 积分:175 威望:0 精华:0 注册:2020/2/11 18:01:00
[求助]请问此种功能怎么实现呢?  发帖心情 Post By:2020/2/11 18:08:00 [只看该作者]

我有如下的表格,想实现的功能就是,当我在总表的输入录入完毕,科目选定后,能自动在匹配的子表相应的列填入父表的数据。

图片点击可在新窗口打开查看此主题相关图片如下:360截图16390403557262.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:婴狐 帖子:12 积分:175 威望:0 精华:0 注册:2020/2/11 18:01:00
  发帖心情 Post By:2020/2/11 18:09:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:gongjjin.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:xingyun.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:105495 积分:536466 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/11 20:20:00 [只看该作者]

到datacolchanged事件处理:http://www.foxtable.com/webhelp/topics/0625.htm

如:
If e.DataCol.Name = "建行_科目" Then
    If e.NewValue > "" Then
        Dim r As Row = Tables(e.NewValue).addnew
        r("凭证号") = e.DataRow("凭证号")
        r("支出") = e.DataRow("支出")
    End If
End If

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


加好友 发短信
等级:婴狐 帖子:12 积分:175 威望:0 精华:0 注册:2020/2/11 18:01:00
  发帖心情 Post By:2020/2/12 9:38:00 [只看该作者]

老师你好,我看了帮助文件,理解如下,输入后不起作用,我这里有几点疑问,还希望给予解答:1、这个代码应该在哪个表输入?2、需要进行表格关联吗?如果需要关联,应该是怎么个关联法?3、代码中的“e.NewValue”,是应该改成我的表名吗,我在代码输入时改成我的表名提示错误。

If e.DataCol.Name = "建行_科目" Then 如果建行_科目的列内容变动
    If e.NewValue > "1" Then 而且变动后的数值是1(我设置的数据字典“1”为行政运行)
        Dim r As Row = Tables(e.NewValue).addnew 不明白
        r("凭证号") = e.DataRow("凭证号") 不明白
        r("支出") = e.DataRow("支出") 不明白
    End If
End If

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


加好友 发短信
等级:超级版主 帖子:105495 积分:536466 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/12 9:52:00 [只看该作者]

1、放到总表datacolchanged事件
2、不需要关联
3、e.NewValue值单元格的值,和表名无关,这个请仔细看帮助说明

如果看不懂代码和帮助,就上传实例吧

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


加好友 发短信
等级:婴狐 帖子:12 积分:175 威望:0 精华:0 注册:2020/2/11 18:01:00
  发帖心情 Post By:2020/2/12 10:17:00 [只看该作者]

老师,输入后并没有反应。反倒是我在论坛看到这个代码改过输入后有反应,但是这个就有问题,1、支出栏不会过来。2、他只要我选中“行政运行”就会自动增加一行,而且我在总表删除一行后,那边不会自动删除。
If e.DataCol.name = "建行_科目" Then
    If e.newvalue = “1”
        Dim dr As DataRow = DataTables("B1").addnew
        dr("凭证号") = e.DataRow("凭证号")
        dr("支出") = e.DataRow("支出")
    End If

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


加好友 发短信
等级:超级版主 帖子:105495 积分:536466 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/12 10:23:00 [只看该作者]

If e.newvalue > ""

删除要到删除事件另外处理,建议先学学编程基础:http://www.foxtable.com/webhelp/topics/1592.htm

还是上传实例吧

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


加好友 发短信
等级:婴狐 帖子:12 积分:175 威望:0 精华:0 注册:2020/2/11 18:01:00
  发帖心情 Post By:2020/2/12 10:34:00 [只看该作者]

好的,我以为看完使用指南就能实现我需要的这个功能,我马上去看开发指南。

 回到顶部