Foxtable(狐表)用户栏目专家坐堂 → 求教:如何让数据不点击 重置 菜单按钮就生成?


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

主题:求教:如何让数据不点击 重置 菜单按钮就生成?

美女呀,离线,留言给我吧!
悦颜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:189 积分:1440 威望:0 精华:0 注册:2013/10/31 20:26:00
求教:如何让数据不点击 重置 菜单按钮就生成?  发帖心情 Post By:2014/4/19 20:34:00 [只看该作者]

建立了关联表"订单" (父表)和"订单产品"(子表),通过 [合同号] 建立联系.企图通过计算与 (父表)"订单" 相同[合同号]的子表"订单产品"的产品[金额],赋值给父表"订单" [合计金额]的值.并将[合计金额]的值,转换成大写英文货币形式.尝试写了下面的代码,功能 能实现,但父表有两个以上的合同时,需要点击菜单栏的 重置 按钮. [合计金额] 的值才能上去. 我想,一定有更简便的,一旦"订单产品"的产品[金额]栏有值,父表[合计金额]的值就自动跳上的,所以,那位大侠看到了,请指点一下,帮我解决一下这个问题.  致谢!

 

Dim dt As DataRow = e.DataRow
Select Case e.DataCol.name
    Case "合计金额","大写金额"
        dt("大写金额") = EUMoney(dt("合计金额"))
       
        Dim Su As Double = Tables("订单产品").Compute("Sum(金额)","[合同号] = '" & dt("合同号") & "'")
       
        dt("合计金额") = Su
End Select


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


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

 呃,看了下,你的代码是不是应该这样写?

 

 如果,你的金额列是表达式列的话,还需要看这里 http://www.foxtable.com/help/topics/2381.htm

 

 

Dim dt As DataRow = e.DataRow
Select Case e.DataCol.name
    Case "金额"

 

        dt("大写金额") = EUMoney(dt("合计金额"))
        Dim Su As Double = Tables("订单产品").Compute("Sum(金额)","[合同号] = '" & dt("合同号") & "'")        
        dt("合计金额") = Su


End Select

 


 回到顶部
美女呀,离线,留言给我吧!
悦颜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:189 积分:1440 威望:0 精华:0 注册:2013/10/31 20:26:00
  发帖心情 Post By:2014/4/21 6:36:00 [只看该作者]

 

上次在你的提醒下,我金额列也用了代码

 

Dim je As DataRow = e.DataRow
Select Case e.DataCol.name
    Case "数量","单价","英文货币","金额"
        je("金额") = je("数量") * je("单价")
        je("英文货币") = EUMoney(je("金额"))
       
End Select

 

在子表,datacolchanged 的事件里。


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


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

 问题解决了吗?如果还没解决,上传一个例子说明实际问题。

 回到顶部
美女呀,离线,留言给我吧!
悦颜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:189 积分:1440 威望:0 精华:0 注册:2013/10/31 20:26:00
  发帖心情 Post By:2014/4/21 20:51:00 [只看该作者]

可能没例子,不直观。



图片点击可在新窗口打开查看此主题相关图片如下:aa.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2014-4-21 21:04:35编辑过]

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


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

 看了一下,你的 合计金额列 是表达式?, 金额列 也是表达式?

 

 所以代码应该这样写

 

Dim je As DataRow = e.DataRow
Select Case e.DataCol.name
    Case "数量","单价"
        je("英文货币") = EUMoney(je("金额"))

        Dim fdr As Datarow = je.GetParentRow("订单")

        If fdr isnot Nothing Then
            fdr("大写金额") = EUMoney(fdt("合计金额"))        
        End If
End Select

[此贴子已经被作者于2014-4-21 20:57:25编辑过]

 回到顶部
美女呀,离线,留言给我吧!
悦颜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:189 积分:1440 威望:0 精华:0 注册:2013/10/31 20:26:00
  发帖心情 Post By:2014/4/21 21:02:00 [只看该作者]

求值:

父表<订单> 的 [合计金额] 根据子表的相同 [合同号] SUM [金额] 取值。不需再点击 菜单栏  重置 按钮.

 

虽然上面的代码也能将就着用, 但就是想要更好点的,因为想到了.所以惦记着, 请帮我想想招儿~~ 谢谢啦~~图片点击可在新窗口打开查看


 回到顶部
美女呀,离线,留言给我吧!
悦颜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:189 积分:1440 威望:0 精华:0 注册:2013/10/31 20:26:00
  发帖心情 Post By:2014/4/21 21:10:00 [只看该作者]

不,都是代码,没有表达式,

大写金额根据合计金额来的,你这个取值都倒过来了. 先求合计金额,再转大写货币.


 回到顶部
美女呀,离线,留言给我吧!
悦颜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:189 积分:1440 威望:0 精华:0 注册:2013/10/31 20:26:00
  发帖心情 Post By:2014/4/21 21:31:00 [只看该作者]

我想不出,帮我写写吧。。。图片点击可在新窗口打开查看


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


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

 没有表达式?那就这样写

 

Dim je As DataRow = e.DataRow
Select Case e.DataCol.name
    Case "数量","单价","金额"

        je("金额") = je("数量") * je("单价")
        je("英文货币") = EUMoney(je("金额"))       

        Dim fdr As Datarow = je.GetParentRow("订单")

        If fdr isnot Nothing Then
             Dim Su As Double = Tables("订单产品").Compute("Sum(金额)","[合同号] = '" & fdr("合同号") & "'")                        

             fdr("合计金额") = Su 
             fdr("大写金额") = EUMoney(fdr("合计金额"))
        End If
End Select

[此贴子已经被作者于2014-4-21 21:42:05编辑过]

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