Foxtable(狐表)用户栏目专家坐堂 → for问题


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

主题:for问题

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


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
  发帖心情 Post By:2017/11/6 14:53:00 [只看该作者]

问题如图:Table5中凭证号被赋值之后,Table6会刷新数据,加载最新的剩余金额,所以这个行是在的,表中是有数据的

             问题就在点击批量付款之后,只能给一个订单付款,在赋值之后执行Table5的datacolchanged事件,但是为什么

             执行到弹出窗口哪里就会报错(如图)

表的逻辑前面有附图详细说明

 


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

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

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


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

 你思路本身就有问题,不要在引用或者赋值的时候刷新表格数据,必须全部赋值完毕以后,才能刷新。


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


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
  发帖心情 Post By:2017/11/6 15:09:00 [只看该作者]

那应该修改Table5的datacolchanged事件吗?还有个问题就是我在一个订单付完值之后就刷新数据

是因为要保证剩余金额>=table5中要付款的金额,如果不刷新的话很有可能剩余金额会成负数


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


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

剩余金额的值,你可以直接用sqlGetValue或者其它方式获取,而不一定要刷新表格 http://www.foxtable.com/webhelp/scr/2955.htm

 

刷新表格必须在你循环之前,或者循环之后处理,不能在循环的过程中。


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


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
  发帖心情 Post By:2017/11/6 15:26:00 [只看该作者]

好的,谢谢,我还想到一个问题不知道会不会有影响,

我是在 table5的datacolchanged事件中   符合这个条件If e.DataCol.Name = "凭证号" Then

的时候就刷新Table6的数据,加载出剩余金额, 有些订单是只能手动确认付款,也就是直接把Table6的凭证单据号

直接复制到Table5的凭证号列中,如果这各条件里面不能刷新数据了,那该怎么刷新

 


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


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

 不要用刷新的方式得到剩余金额。你就不能通过别的方式得到剩余金额了?


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


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
  发帖心情 Post By:2017/11/6 16:42:00 [只看该作者]

剩余金额不对,还是报错(如图),不太看得懂这个SQLGetvalue,不会用


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

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


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


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

 你剩余金额的计算逻辑是什么?为什么刷新就可以得到正确的值?

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


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
  发帖心情 Post By:2017/11/6 17:49:00 [只看该作者]

数据库SQL: Select a.id,a.zsbh as 证书编号,a.bclx as 补偿类型,a.bcje as 补偿金额,IsNull(a.kyje,0)+ISNULL(b.ysyje, 0) -isnull(a.djje,0) as 剩余金额,a.zssm As 证书说明 Fro m cgswbc as a left JOIN (select bcid,sum(syje) as ysyje  fr om cgswbcmx where cghthm <> '' group by bcid) as b on a.id=b.bcid where isnull(a.kyje,0)+ ISNULL(b.ysyje, 0) -isnull(a.djje,0) <>0 and isnull(a.yx,0)<>0 and isnull(a.dj,0)=0

 

剩余金额 = 凭证总金额 -已使用金额 (sum(syje) as ysyje )


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


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

用临时表

 

Dim sql As String = "Select a.id,a.zsbh as 证书编号,a.bclx as 补偿类型,a.bcje as 补偿金额,IsNull(a.kyje,0)+ISNULL(b.ysyje, 0) -isnull(a.djje,0) as 剩余金额,a.zssm As 证书说明 Fro m cgswbc as a left JOIN (select bcid,sum(syje) as ysyje  fr om cgswbcmx where cghthm <> '' group by bcid) as b on a.id=b.bcid where isnull(a.kyje,0)+ ISNULL(b.ysyje, 0) -isnull(a.djje,0) <>0 and isnull(a.yx,0)<>0 and isnull(a.dj,0)=0"

 

Dim cmd As new SQLCommand
cmd.ConnectionName = "数据源名"
cmd.CommandText = sql
Dim dt As DataTable = cmd.ExecuteReader
Dim fdr As DataRow = dt.Find("根据某一条件查找值")
If fdr IsNot Nothing Then
    msgbox(fdr("剩余金额"))
End If


 回到顶部
总数 32 上一页 1 2 3 4 下一页