以文本方式查看主题

-  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
--  多表融合之辅助计位列
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:关于辅助列计数问题.rar


--  作者:有点蓝
--  发布时间: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次  就依次设为123........

       边框   出现了2次  就依次设为12........

封边条  出现了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
--  
If e.DataCol.Name = "型材名称" Then
if e.DataRow.isnull("辅助定位") then
    e.DataRow("辅助定位") = DataTables("表A").compute("max(辅助定位)","[型材名称] = \'" & e.NewValue & "\'") + 1
    End If
End If 

谢谢老师,测试没问题了,
假如删掉一行或清除一行数据,入住定位数字能重新计算就更好了,比如 玻璃副框 有3个,辅助定位依次是1,2,3  如果删除2的数据,能从新计算,把原来的3 变成2  如果删除1的数据,辅助定位重新计算,原来的2变为1 原来的3变为2,
也就是重新计算一下  就更完美了,因为层这个排序值能够看到相同的型材有几个

老师还的调整一下代码, 谢谢老师

--  作者:刘效功天津
--  发布时间:2023/9/22 17:40:00
--  
老师,我这个键盘可能有问题了,老是打错别字