以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 窗口引用数据出错 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=108762) |
-- 作者:whx007 -- 发布时间:2017/10/28 17:42:00 -- 窗口引用数据出错 窗口中有折扣(TextBox3)和实付现金(TextBox9)两个控件,希望输入折扣值后实付现金相应变化。 实付现金通过销售明细表的datacolchanged来获得数值,代码如下: Dim Filter As String = "订单号 = \'" & e.DataRow("订单号") & "\'" e.Form.Controls("TextBox9").Text = DataTables("销售明细表").Compute("sum(金额)",Filter) - e.Form.Controls("TextBox3").value 折扣(TextBox3)Valuechanged代码如下: Dim Filter As String = "订单号 = \'" & Tables("销售订单.销售明细表").current("订单号") & "\'" e.Form.Controls("TextBox9").value = Tables("销售订单.销售明细表").Compute("sum(金额)",Filter) -cint(e.Form.Controls("TextBox3").value) 折扣的初始值设置为0 现在问题是:例如:折扣默认值为0时实付现金值350(为当前订单的销售明细金额之和),当输入折扣值如50时,实付现金数值为显示为-50。不知道问题出在哪。请帮忙分析一下,谢谢!
[此贴子已经被作者于2017/10/28 17:58:18编辑过]
|
-- 作者:whx007 -- 发布时间:2017/10/29 15:58:00 -- 没有人能帮忙解答一下吗 |
-- 作者:有点甜 -- 发布时间:2017/10/29 21:48:00 -- datacolchanged事件
If e.DataCol.name = "订单号" AndAlso forms("窗口1").opened Then
TextChanged事件
Dim Filter As String = "订单号 = \'" & Tables("销售订单.销售明细表").current("订单号") & "\'"
[此贴子已经被作者于2017/10/29 21:48:31编辑过]
|
-- 作者:whx007 -- 发布时间:2017/10/30 4:52:00 -- 谢谢版主。按照你的代码改后问题依旧。而且第一次获得的数据更不对了,我觉得代码也没有问题,不知道哪里的问题。 此主题相关图片如下:无标题.png 此主题相关图片如下:无标题2.png |
-- 作者:有点甜 -- 发布时间:2017/10/30 8:40:00 -- datacolchanged事件
If e.DataCol.name = "订单号" AndAlso forms("窗口1").opened Then
TextChanged事件 |
-- 作者:whx007 -- 发布时间:2017/10/30 16:27:00 -- 1、现在能正常计算了,输入折扣值的时候实付现金会相应变化。 2、但实付现金的值是上一个订单明细的总金额,不是当前正在开的销售单。 是不是以下问题造成的: 最下面的表我绑定的是销售明细表,不是销售订单.销售明细表子表。设计的时候考虑的是先有明细后再生成的订单。
|
-- 作者:有点甜 -- 发布时间:2017/10/30 16:42:00 -- 你可以不绑定,直接赋值就好了。
timertick事件 http://www.foxtable.com/webhelp/scr/1301.htm
Forms("窗口1").Controls("TextBox8").value = Tables("销售订单.销售明细表").Compute("sum(金额)") |
-- 作者:whx007 -- 发布时间:2017/10/30 17:20:00 -- 可能我没有表达清楚: 1、我希望在我添加完产品明细后,实付现金控件获得的值是销售明细表的金额列合计值。比如:销售明细的合计金额是498,此时实付现金值为498。 2、输入相应的折扣值后,实付现金值相应变化。比如:实付现金值为498时,当折扣值输入8的时候,实付现金值变为490. 3、点击保存生成客户订单。
|
-- 作者:有点甜 -- 发布时间:2017/10/30 17:21:00 -- 就是7楼代码。
不会做上传具体的项目说明。 |
-- 作者:whx007 -- 发布时间:2017/10/30 17:38:00 -- 我按照7楼做了: 1、打开了计时器true 2、设置timertick事件代码:Forms("销售主界面").Controls("TextBox9").value = Tables("销售订单.销售明细表").Compute("sum(金额)")
|