以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 多表融合之辅助计位列 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=188494) |
||||
-- 作者:刘效功天津 -- 发布时间:2023/9/22 15:05:00 -- 多表融合之辅助计位列
|
||||
-- 作者:有点蓝 -- 发布时间:2023/9/22 15:14:00 -- 把代码里的列名【辅助数值型】改为为正确的列名【辅助定位】即可 |
||||
-- 作者:刘效功天津 -- 发布时间:2023/9/22 15:56:00 -- 没搞明白 |
||||
-- 作者:有点蓝 -- 发布时间:2023/9/22 15:57:00 -- 自己写了什么代码不明白!!打开项目看看表A的datacolchanged事件不就知道了 |
||||
-- 作者:刘效功天津 -- 发布时间:2023/9/22 16:02:00 -- \'\'设置相同型材名称时用于多表融合的辅助数值型通用代码代码 \'If e.DataCol.Name = "型材名称" Then \' Dim dr As DataRow \' dr = DataTables("表A").Find("[型材名称] = \'" & e.NewValue & "\'") \' If dr IsNot Nothing Then \' dr("辅助定位") = 0 \' \' Else \' For i As Integer = 1 To 500 \' e.DataRow("辅助定位") = e.DataRow("辅助定位") + i \' \'e.DataRow("辅助定位") = dr("辅助定位") + i \'全变 \' \'dr("辅助定位") = e.DataRow("辅助定位") + i \' \'dr("辅助定位") = dr("辅助定位") + i\'全变一次,相同的不变 \' Next \' End If \'End If 目的 型材名称如果第1次出现,辅助定位就设为1 如果第二次出现,就设为2,以此类推 玻璃副框 出现了3次 就依次设为1,2,3,........ 边框 出现了2次 就依次设为1,2,........ 封边条 出现了1次 就设为1 老师 上面的代码实现不了,上面的目的,搞了1上午也没搞明白,老师帮忙改改代码,压缩包里有文件可以测试,谢谢老师! |
||||
-- 作者:有点蓝 -- 发布时间:2023/9/22 16:06:00 -- If e.DataCol.Name = "型材名称" Then if e.DataRow.isnull("辅助定位") then e.DataRow("辅助定位") = DataTables("表A").compute("max(辅助定位)","[型材名称] = \'" & e.NewValue & "\'") + 1 End If End If
|
||||
-- 作者:刘效功天津 -- 发布时间:2023/9/22 16:10:00 -- 老师,我上面发给您的代码实现不了辅助定位中所需的定位数字,烦请老师修改一下代码,谢谢老师 |
||||
-- 作者:刘效功天津 -- 发布时间:2023/9/22 16:11:00 -- 好的,老师,我测试一下,谢谢老师! |
||||
-- 作者:刘效功天津 -- 发布时间:2023/9/22 17:38:00 --
|
||||
-- 作者:刘效功天津 -- 发布时间:2023/9/22 17:40:00 -- 老师,我这个键盘可能有问题了,老是打错别字 |