以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]未能实现代码效果(已解决) (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=15513) |
||||
-- 作者:yyzlxc -- 发布时间:2011/12/29 8:31:00 -- [求助]未能实现代码效果(已解决) 一段按钮代码,根据“人事变更”表的内容,在“个人数据”表中填充部门,但是其中一段代码不起作用,不知问题在哪里,请各位老师帮助指教,谢谢!!
\'填充部门 要求的效果:
现在的效果:
[此贴子已经被作者于2011-12-29 12:31:33编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/12/29 9:00:00 -- For Each dr1 As DataRow In DataTables("个人数据").DataRows Dim pr1 As DataRow For j As Byte = 2 To 12 Dim k As Byte = j - 1 If dr1.IsNull("姓名") Then dr1("部门_" & j) = Nothing End If Dim filter As String filter = "姓名 = \'" & dr1("姓名") & "\'and 月份 = \'j\'" pr1 = DataTables("人事变更").Find(filter) If pr1 IsNot Nothing Then If pr1("部门") ="退休" dr1("部门_" & j) = Nothing ElseIf pr1("部门") ="调出" dr1("部门_" & j) = Nothing Else dr1("部门_" & j) = pr1("部门") End If Else dr1("部门_" & j) = dr1("部门_" & k) End If Next Next |
||||
-- 作者:yyzlxc -- 发布时间:2011/12/29 9:23:00 -- 谢谢狐爸老师的回复,但是效果还是跟原来一样,不能实现预期的效果,还请狐爸老师想想办法,谢谢了!! |
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/12/29 9:44:00 -- 没有看懂你要的是什么。 |
||||
-- 作者:yyzlxc -- 发布时间:2011/12/29 10:15:00 -- 谢谢狐爸老师的回复,该代码的目的是将人事变更表的内容反映到个人数据表,如张3是八月份退休,在八月及以后的单元格为空;又如张5原来在办公室,六月份调到行政科,那么六月份及以后填入行政科;又如张9是四月份新招录,分在行政科,那么四月份及以后填入行政科,以此类推。不知这样表述是否能够表达清楚。 [此贴子已经被作者于2011-12-29 10:16:23编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/12/29 10:32:00 -- For Each dr1 As DataRow In DataTables("个人数据").DataRows Dim drs As List(of DataRow) = DataTables("人事变更").Select("姓名 = \'" & dr1("姓名") & "\'") For Each dr2 As DataRow In drs Dim yf As Integer = dr2("月份") Dim nm As String = dr2("部门") If dr2("部门") = "退休" OrElse dr2("部门") = "调出" Then nm = Nothing End If For i As Integer = yf To 12 dr1("部门_" & i) = nm Next Next Next |
||||
-- 作者:yyzlxc -- 发布时间:2011/12/29 10:47:00 -- 谢谢狐爸老师,代码精炼,效果完全达到预期,再次衷心感谢。 |