以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 通过命令窗口执行类似VLOOKUP的代码执行提示错误 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=161445) |
-- 作者:ganlanlee -- 发布时间:2021/3/17 16:22:00 -- 通过命令窗口执行类似VLOOKUP的代码执行提示错误 想【A表】的渠道订单号在【应付金额表】的本期订单号匹配,然后在【A表】的本期结算金额填入匹配上的【应付金额表】的应付金额,相当于VLOOKUP(渠道订单号,应付金额表!本期订单号:应付金额,3,FLASE) 查用户指南,可以用一下代码做到,但是用命令窗口看效果的时候,提示错误。 If e.DataCol.Name = "渠道订单号" Then \'如果内容发生变动的是品名列 If e.NewValue Is Nothing Then \'如果新值是空白,也就是品名列的内容为空 e.DataRow("本期结算金额") = Nothing \'那么清空此行单价列的内容 Else Dim dr As DataRow \'否则在产品表查找同名的产品行,将找到的行赋值给变量dr dr = DataTables("应付金额").Find("[本期订单号] = \'" & e.NewValue & "\'") If dr IsNot Nothing Then \'如果找到了同名的产品行,也就是dr不是Nothing e.DataRow("本期结算金额") = dr("应付金额") End If End If End If
[此贴子已经被作者于2021/3/18 12:00:04编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/3/17 16:24:00 -- 这种代码要放到表事件里执行,不能在命令窗口测试:http://www.foxtable.com/webhelp/topics/1445.htm |
-- 作者:ganlanlee -- 发布时间:2021/3/17 16:27:00 -- 嗯,试过也一样提示这个 此主题相关图片如下:微信截图_20210317162500.png |
-- 作者:有点蓝 -- 发布时间:2021/3/17 16:38:00 -- 放到DataColChanged事件,先看看:http://www.foxtable.com/webhelp/topics/0604.htm,不同事件有不同的用途和参数,不是随便把代码放到任意的事件都可以的。如果可以没有必要搞那么多事件全部堆到一起算了。 建议还是先花时间看几遍基础:http://www.foxtable.com/webhelp/topics/1592.htm
|
-- 作者:ganlanlee -- 发布时间:2021/3/17 17:02:00 -- 我目前用到的功能不多,现在这个表就差VLOOKUP这个,而且使用说明,和视频我也看了,但是我还是不太理解上面说的,没有整个实例,有点难消化。我这个表平时是用于结算的,一周结算一次,一周导入1次数据,然后筛选本期的数据导出和打印,以前用EXCEL,但是现在6万多条,条件求和EXCEL太卡了。然后就想用狐表实现,现在sumif可以用表关联和表达式做的,就是VLOOKUP实现不了 |
-- 作者:有点蓝 -- 发布时间:2021/3/17 17:12:00 -- 不管功能多不多,基础要学好。 现在让您放到DataColChanged事件,如果还是不懂,可以上传实例 |
-- 作者:ganlanlee -- 发布时间:2021/3/17 17:14:00 -- 我的数据已经导入里面了,不知道是属于编辑前还是编辑后, |
-- 作者:ganlanlee -- 发布时间:2021/3/17 17:20:00 -- 现在代码提交了,ed和ing的都放过,但是出不来值,我慢慢研究吧,谢谢了 |
-- 作者:有点蓝 -- 发布时间:2021/3/17 17:38:00 -- 如果已经有数据,选中订单号列,重置一下列:http://www.foxtable.com/webhelp/topics/1469.htm |
-- 作者:ganlanlee -- 发布时间:2021/3/17 21:12:00 -- 哦原来是要重置列,谢谢,数据出来了 [此贴子已经被作者于2021/3/18 12:00:34编辑过]
|