Foxtable(狐表)用户栏目专家坐堂 → 代码错在哪


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

主题:代码错在哪

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


加好友 发短信
等级:小狐 帖子:337 积分:3225 威望:0 精华:0 注册:2020/2/25 23:12:00
代码错在哪  发帖心情 Post By:2021/4/25 18:30:00 [显示全部帖子]

   

If e.DataCol.Name = "物料编码"  Then
Dim a1 As String = e.DataRow("物料编码")
Dim d1 As Integer = 1
Dim b1 As Integer
For b1 = e.DataRow("物料编码").length To 1
Dim e1 As String = left(a1,b1)      ' 取【物料编码】列的字符,字符长度 依次次减少
Dim dr As DataRow
dr = DataTables("表A").Find("物料编码 ='" & e1 & "'")   '查找 [物料编码] 列等于 [物料编码]列或其中部分字符的行
If dr IsNot Nothing Then
d1= dr("数量")*d1    '把找到的行的 【数量】列的数字 累乘
End If  

Next
e.DataRow("数量辅助列") = d1    '把累乘的数值赋值给 【数量辅助列】
End If

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table

[此贴子已经被作者于2021/4/26 8:12:32编辑过]

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


加好友 发短信
等级:小狐 帖子:337 积分:3225 威望:0 精华:0 注册:2020/2/25 23:12:00
  发帖心情 Post By:2021/4/26 8:14:00 [显示全部帖子]

重新调整并上传实例,请帮看看,代码运行结果和期望的不一样

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


加好友 发短信
等级:小狐 帖子:337 积分:3225 威望:0 精华:0 注册:2020/2/25 23:12:00
  发帖心情 Post By:2021/4/26 10:58:00 [显示全部帖子]

谢谢2位的代码,又学到了,思路也开阔了。 我把自己的代码修改下,也能正常了。

 

我的代码错误在于for to 赋值得从小到大,若从大到小得加步长为-1

 

 

 

If e.DataCol.Name = "物料编码" Then
Dim d As Integer = 1
For b As Integer = 1 To e.DataRow("物料编码").length
Dim dr As DataRow = DataTables("表A").Find("物料编码 ='" & left(e.DataRow("物料编码"),b) & "'")  
d= dr("数量")*d  
Next
e.DataRow("数量辅助列") = d 

End If

[此贴子已经被作者于2021/4/26 11:09:45编辑过]

 回到顶部