Foxtable(狐表)用户栏目专家坐堂 → 两列的值相互转换


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

主题:两列的值相互转换

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


加好友 发短信
等级:小狐 帖子:347 积分:2844 威望:0 精华:0 注册:2013/4/26 20:58:00
两列的值相互转换  发帖心情 Post By:2013/10/26 21:36:00 [显示全部帖子]

新项目在开发阶段BOM不确定,常发生设计变更,将新项目产品的BOM表设计成如下列

 

材料代码      材料名        是否用替代料      替代材料代码     替代材料名

233456      RP334        (逻辑列)         334556          ND7568

 

希望点击逻辑列后,逻辑列左右两列的值互换

 

材料代码      材料名        是否用替代料      替代材料代码     替代材料名

334556      ND7568                            233456          RP334        

 

求助代码如何写!


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


加好友 发短信
等级:小狐 帖子:347 积分:2844 威望:0 精华:0 注册:2013/4/26 20:58:00
  发帖心情 Post By:2013/10/26 22:30:00 [显示全部帖子]

以下是引用sloyy在2013-10-26 22:03:00的发言:

Dim A,B,C,D As String
表的DataColChanged 事件:

If e.DataCol.Name = "是否用替代料" Then '如果用替代料列的内容变动
    If e.NewValue = True Then '而且变动后的值是True(已勾选)
        A= e.DataRow("材料代码")
        B= e.DataRow("材料名")
        C= e.DataRow("替代材料代码")
        D= e.DataRow("替代材料名")
        e.DataRow("材料代码")=C
        e.DataRow("材料名")=D
        e.DataRow("替代材料代码")=A
        e.DataRow("替代材料名")=B
    End If
End If

谢谢3楼,试了,报错。


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


加好友 发短信
等级:小狐 帖子:347 积分:2844 威望:0 精华:0 注册:2013/4/26 20:58:00
  发帖心情 Post By:2013/10/27 12:18:00 [显示全部帖子]

以下是引用lsy在2013-10-27 11:13:00的发言:
If e.DataCol.Name = "是否用替代材料" Then
    If e.DataRow(e.DataCol) = True Then
        e.DataRow("材料代码") = e.DataRow.OriginalValue("替代材料代码")
        e.DataRow("材料名") = e.DataRow.OriginalValue("替代材料名")
        e.DataRow("替代材料名") = e.DataRow.OriginalValue("材料名")
        e.DataRow("替代材料代码") = e.DataRow.OriginalValue("材料代码")
    End If
End If

Hi, 还是你的对。如果不用逻辑列判断,用双击"替代材料名",方法,将两列互换位置,并且点击可以往返,可以实行吗?


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


加好友 发短信
等级:小狐 帖子:347 积分:2844 威望:0 精华:0 注册:2013/4/26 20:58:00
  发帖心情 Post By:2013/10/27 16:56:00 [显示全部帖子]

太棒了,谢谢!


 回到顶部