以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]关于将表2中的日期按条件自动填入到表1的特定列 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=97114) |
||||
-- 作者:chh2321 -- 发布时间:2017/3/6 14:55:00 -- [求助]关于将表2中的日期按条件自动填入到表1的特定列 老师,请教问题: 有两个表:表1有编号,第一入库日期,第二入库日期,第三入库日期;表2有编号,日期和是否入库 我想:如果表2中"是否入库"列出现“入库”,就将对应的日期按前后顺序填入到表1中第一入库日期,第二入库日期,第三…… 我写的代码如下: Sel ect Case e.DataCol.Name Case "编号","是否入库" Dim dr As DataRow Dim pr1,pr2,pr3 As DataRow dr = DataTables("表1").Find("[编号] = \'" & e.DataRow("编号") & "\'" ) pr1 = DataTables("表2").Find("[编号] = \'" & e.DataRow("编号") & "\'" And "[是否入库] Like \'入库\'","日期") pr2 = DataTables("表2").Find("[编号] = \'" & e.DataRow("编号") & "\'" And "[是否入库] Like \'入库\'","日期",1) pr3 = DataTables("表2").Find("[编号] = \'" & e.DataRow("编号") & "\'" And "[是否入库] Like \'入库\'","日期",2) If dr Is Nothing Then dr = DataTables("表1").AddNew() End If dr("编号") = e.DataRow("编号") If dr IsNot Nothing Then If pr1 IsNot Nothing Then dr("第一入库日期") = pr1("日期") dr("第二入库日期") = pr2("日期") dr("第三入库日期") = pr3("日期") Else dr("第一入库日期") = Nothing dr("第二入库日期") = Nothing dr("第三入库日期") = Nothing End If End If End Sel ect 结果出错,请老师指点! [此贴子已经被作者于2017/3/6 14:54:52编辑过]
|
||||
-- 作者:chh2321 -- 发布时间:2017/3/6 15:03:00 -- 上传附件 |
||||
-- 作者:chh2321 -- 发布时间:2017/3/6 15:05:00 --
|
||||
-- 作者:有点色 -- 发布时间:2017/3/6 15:40:00 -- Select Case e.DataCol.Name Case "编号","是否入库" Dim dr As DataRow dr = DataTables("表1").Find("[编号] = \'" & e.DataRow("编号") & "\'" ) Dim drs = DataTables("表2").Select("[编号] = \'" & e.DataRow("编号") & "\' And [是否入库] Like \'%入库%\'","日期") If dr Is Nothing Then dr = DataTables("表1").AddNew() End If dr("编号") = e.DataRow("编号") If drs.count > 0 Then dr("第一入库日期") = drs(0)("日期") Else dr("第一入库日期") = Nothing End If If drs.count > 1 Then dr("第二入库日期") = drs(1)("日期") Else dr("第二入库日期") = Nothing End If If drs.count > 2 Then dr("第三入库日期") = drs(2)("日期") Else dr("第三入库日期") = Nothing End If End Select |
||||
-- 作者:客人 -- 发布时间:2017/3/6 16:07:00 -- 谢谢老师,解决了! |