Foxtable(狐表)用户栏目专家坐堂 → [求助] 代码计算的值,想手动更改?


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

主题:[求助] 代码计算的值,想手动更改?

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


加好友 发短信
等级:婴狐 帖子:28 积分:260 威望:0 精华:0 注册:2020/1/13 17:09:00
[求助] 代码计算的值,想手动更改?  发帖心情 Post By:2020/2/14 18:11:00 [只看该作者]

各位大神老师:

'以下代码是计算单价及金额的,在表事件DataColChanged中:

Select  Case e.DataCol.Name
    Case "材料费","加工项目_切割费","加工项目_折弯费","数量","单价"
        dr("单价") = dr("材料费")+dr("加工项目_切割费")+dr("加工项目_折弯费")
        dr("金额") = dr("单价")*dr("数量")
End Select

以上代码已经正确计算出单价及金额,但是在表中,单价列就不能更改了,如果我想在表中手动更改单价列,该如何弄?

请指教!

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

判断一下,如果单价有值,就不再计算

Select  Case e.DataCol.Name
    Case "材料费","加工项目_切割费","加工项目_折弯费"
if dr.isnull("单价") then
        dr("单价") = dr("材料费")+dr("加工项目_切割费")+dr("加工项目_折弯费")
end if
    Case "数量","单价"
        dr("金额") = dr("单价")*dr("数量")
End Select

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


加好友 发短信
等级:婴狐 帖子:28 积分:260 威望:0 精华:0 注册:2020/1/13 17:09:00
  发帖心情 Post By:2020/2/14 20:31:00 [只看该作者]

有点蓝老师:
你好!
你上面的这种代码不行,我发贴之前我就试过.而且我还试过其它几种表事情都不行.(代码都是不错的,但就是不能执行).
本身单价是根据其它几种列值变化而来的(dr("单价") = dr("材料费")+dr("加工项目_切割费")+dr("加工项目_折弯费")),因此单价列初值本身就是空的,但当几列内容输入进去之后,单价列的值就被自动算了出来.   但有时候自动算的值达不到要求,这时候想手动修改(在表中直接输入),这时候单价列就无法进行编辑状态,我也查过的,单价列的ALLOWEDIT 状态是TRUE.
这个问题如何破,请指教.
TKS!

CHS



 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

请上传具体实例说明

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


加好友 发短信
等级:婴狐 帖子:28 积分:260 威望:0 精华:0 注册:2020/1/13 17:09:00
  发帖心情 Post By:2020/2/14 22:34:00 [只看该作者]

有点蓝老师:
附件已上传.
以下代码是计算单价及金额的,在表事件DataColChanged中:  记价表   中的.

Select  Case e.DataCol.Name
    Case "材料费","加工项目_切割费","加工项目_折弯费","数量","单价"
        dr("单价") = dr("材料费")+dr("加工项目_切割费")+dr("加工项目_折弯费")
        dr("金额") = dr("单价")*dr("数量")
End Select

以上代码已经正确计算出单价及金额,但是在表中,单价列就不能更改了,如果我想在表中手动更改单价列,该如何弄?
(当然其中的材料费,加工项目切割费等有一些需要计算的字段都是通代码写在表,记价表事件DataColChanged中了)
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:记价表20200211-代码正确.table


请指教!


 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

单价列是表达式列,当然改不了,转换为数据列即可:http://www.foxtable.com/webhelp/topics/2494.htm

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


加好友 发短信
等级:婴狐 帖子:28 积分:260 威望:0 精华:0 注册:2020/1/13 17:09:00
  发帖心情 Post By:2020/2/14 23:12:00 [只看该作者]

对的,难道其它代码计算的可以更改呢.
谢谢蓝老师!


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


加好友 发短信
等级:婴狐 帖子:28 积分:260 威望:0 精华:0 注册:2020/1/13 17:09:00
  发帖心情 Post By:2020/2/14 23:26:00 [只看该作者]

蓝老师,还是不能修改呦.

其它代码计算的几个列数值是可以更改的.

麻烦明天老师再帮我看看.谢谢!

 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

我测试没有问题,确定已经转换为数据列了?到表结构里看看

或者2楼的代码把if dr.isnull("单价") then判断去掉试试

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


加好友 发短信
等级:婴狐 帖子:28 积分:260 威望:0 精华:0 注册:2020/1/13 17:09:00
  发帖心情 Post By:2020/2/15 9:56:00 [只看该作者]

2楼的代码把if dr.isnull("单价") then判断已经去掉,并且确定单价列是数据列,而且鼠标可以进去,之后也可以新值输入数值,但鼠标离开的同时,数值又立即变成了表达式计算的数值,也就是没有更改成功.
(当然其中的材料费,加工项目切割费等有一些需要计算的字段都是通代码写在表,记价表事件DataColChanged中了,而且是可以在表里面直接可以更改的)

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