以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 行列动态求和判断的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=177873) |
||||||||||||||||||||||||||||||||||||
-- 作者:allenyen -- 发布时间:2022/6/8 9:41:00 -- 行列动态求和判断的问题
目的:想实现在日期列输入数量的时候自动校验未排数量,如在10日输入600的时候8日+9日+10日超出了未排数量就提示超出 请教下大佬如何实现
[此贴子已经被作者于2022/6/8 9:43:31编辑过]
|
||||||||||||||||||||||||||||||||||||
-- 作者:有点蓝 -- 发布时间:2022/6/8 10:05:00 -- datacolchanging事件 if e.datacol.name like "*日" then dim k as integer = val(e.datacol.name.trim("日")) dim sum as integer for i as integer = 1 to k if e.datatable.datacols.contains(i & "日") then sum = sum + e.datarow(i & "日") end if next if sum > e.datarow("未排产数量") then msgbox("超出") e.cancel=true end if endif
|
||||||||||||||||||||||||||||||||||||
-- 作者:狐狸爸爸 -- 发布时间:2022/6/8 10:13:00 -- 另一种方式,用颜色 建议: 1、任何人写出能用的好代码,都要经过测试调整,所以提问的时候,最好自己把表设计好发上来,否则别人想帮你解决问题,还要先需要设计表,输入测试数据。 2、问题要更明确,你说的是要提示, 正常提示指的是MessageBox,可你截图用的是颜色标记,蓝版主理解你是要用messagebox,我理解你要颜色。 不明确,没有测试数据,会耽误工程师的时间,影响服务质量,也耽误了为其他人服务。
[此贴子已经被作者于2022/6/8 10:18:07编辑过]
|
||||||||||||||||||||||||||||||||||||
-- 作者:allenyen -- 发布时间:2022/6/8 10:18:00 -- Dim dtb As New DataTableBuilder("lsb1") dtb.AddDef("商品编码", Gettype(String), 30) dtb.AddDef("商品名称", Gettype(String), 50) dtb.AddDef("订单数量", Gettype(Integer)) dtb.AddDef("已排产数量", Gettype(Integer)) dtb.AddDef("未排产数量", Gettype(Integer)) For Each d As String In dtw.GetValues("日","","id") dtb.AddDef(d, Gettype(Double)) Next dtb.Build() Tables(e.form.name & "_Table1").DataSource = DataTables("lsb1") DataTableBuilder 生成的临时表好像不能用datacolchanging事件 以上是生成临时表代码 |
||||||||||||||||||||||||||||||||||||
-- 作者:有点蓝 -- 发布时间:2022/6/8 10:28:00 -- 到全局表事件处理:http://www.foxtable.com/webhelp/topics/0671.htm |
||||||||||||||||||||||||||||||||||||
-- 作者:狐狸爸爸 -- 发布时间:2022/6/8 10:31:00 -- 如果要颜色标记,可通过代码增加样式:
|