以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 代码错在哪 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=163812) |
||||
-- 作者:wangglby -- 发布时间:2021/4/25 18:30:00 -- 代码错在哪 If e.DataCol.Name = "物料编码" Then Next
[此贴子已经被作者于2021/4/26 8:12:32编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2021/4/25 20:47:00 -- 没看懂这个代码到底要做什么。 首先e是事件里一个固定的变量名称,自己定义的变量不能使用e这个名称。其次b变量没有赋值默认就是0,所以left(a,b)就是一个空字符串,没内容 |
||||
-- 作者:wangglby -- 发布时间:2021/4/26 8:14:00 -- 重新调整并上传实例,请帮看看,代码运行结果和期望的不一样 |
||||
-- 作者:有点蓝 -- 发布时间:2021/4/26 9:31:00 --
|
||||
-- 作者:y2287958 -- 发布时间:2021/4/26 9:47:00 -- 或者 For Each dr As DataRow In DataTables("表A").DataRows Dim lst As new List(of String) \'用于储存目标内容 Dim ss As String = dr("物料编码") For i As Integer = 1 To len(ss) Dim fdr As DataRow = DataTables("表A").find("物料编码=\'" & left(ss,i) & "\'") lst.add(fdr("数量")) Next dr("数量辅助列") = Eval(String.join("*",lst.ToArray)) Next |
||||
-- 作者:wangglby -- 发布时间:2021/4/26 10:58:00 -- 谢谢2位的代码,又学到了,思路也开阔了。 我把自己的代码修改下,也能正常了。
我的代码错误在于for to 赋值得从小到大,若从大到小得加步长为-1
If e.DataCol.Name = "物料编码" Then End If [此贴子已经被作者于2021/4/26 11:09:45编辑过]
|