以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于通过一个表向另外一个表有条件的赋值 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=104701) |
|||||||||||||||||||||||||||
-- 作者:sgkyzfh -- 发布时间:2017/8/3 13:41:00 -- 关于通过一个表向另外一个表有条件的赋值
Select Case e.DataCol.Name Case "D" Dim adr As DataRow = e.DataRow Dim pr As DataRow Dim filter As String filter = "A = \'" & adr("A") & "\' And B = \'" & adr("点B") & "\' And C = \'" & adr("C") & "\'" pr = DataTables("表A").Find(filter) If pr IsNot Nothing Then adr("D") = pr("D") End If End Select |
|||||||||||||||||||||||||||
-- 作者:sgkyzfh -- 发布时间:2017/8/3 13:41:00 --
|
|||||||||||||||||||||||||||
-- 作者:有点甜 -- 发布时间:2017/8/3 14:43:00 -- 表ADataColChanged事件
Select Case e.DataCol.Name |
|||||||||||||||||||||||||||
-- 作者:sgkyzfh -- 发布时间:2017/8/3 16:14:00 -- 老师,测试过了,但好像还有问题,也许我测试的方法不对,你再给看看 |
|||||||||||||||||||||||||||
-- 作者:有点甜 -- 发布时间:2017/8/3 16:21:00 -- 你修改这三列 "车号","点位","描述",如果在表B找到相同的行,就把表B的值赋值过来。
你的逻辑是否有问题,请详细说明你要实现什么? |
|||||||||||||||||||||||||||
-- 作者:sgkyzfh -- 发布时间:2017/8/3 21:33:00 -- 老师我的目的是这样的,我是搞设备管理的人员,例如车辆吧,有发动机、变速箱、差速器等大的总成件,也有小的件例如仪表、管路、刹车片、刹车分泵等,在企业管理中呢,主要对大总件进行生命周期管理,跟踪使用寿命和过程维修以及隐患的检查,当在使用发现了大总成件有问题时,就在表A中进行“车号、点位、隐患描述”等录入工作,如果认为需要检修呢,就在表A里的“生成隐患”列录入“生成隐患”字样,这样这些字段就在表B里自动添加一个一模一样的记录(我已经完成了)。表B呢是这样的作用,所有的检修工作单是从表B里形成的,如果检修完毕后,在表B的“点检组归档”里打钩,表示该隐患处理完毕。这时表A里的与之相对应的那条记录还没有结束的标示呢,如果再进去打钩,很不科学,我想如果B表的“点检组归档”打钩了,就让A表里的“点检组归档”也打钩,就方便多,也能够让这个问题在两个表中全部结案。 |
|||||||||||||||||||||||||||
-- 作者:sgkyzfh -- 发布时间:2017/8/3 21:39:00 -- 此外,老师你对我的问题原意有差异: 我是这样的意思,发生变化的列是表B里的“点检组归档”列,即:打钩。打钩后,使用这行的“车号、点位、描述”三列的值去A表找,找到相同的数据后,就让相同数据的“点检组归档”列为真。就算完成了。
|
|||||||||||||||||||||||||||
-- 作者:有点甜 -- 发布时间:2017/8/3 21:43:00 -- 表B的DataColChanged事件
Select Case e.DataCol.Name |
|||||||||||||||||||||||||||
-- 作者:sgkyzfh -- 发布时间:2017/8/3 22:56:00 -- 好,老师你很棒。佩服,就是我长进的太慢了,描述的也不清楚。你多包涵。 |