以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 凭证明细,如何在:科目代码变化 后,取:一级,二级,三级科目? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=101429) |
-- 作者:yancheng -- 发布时间:2017/5/31 11:17:00 -- 凭证明细,如何在:科目代码变化 后,取:一级,二级,三级科目? 在凭证明细,表datacolchanged。。。。写晕了。下面写得乱 \'科目代码变化后,提取一级科目,二级科目等信息-------------------------------------------------------------------------------- If e.DataCol.Name = "科目代码" Then Dim dr As DataRow = e.DataRow Dim strs() As String={"1","2","3"} Dim strs1() As String={"4","6","8"} Dim strs2() As String={"会计科目_一级科目","会计科目_二级科目","会计科目_三级科目"} Dim i1 As Integer = CStr(dr("科目代码")).Length For i As Integer = 0 To i1/2-1 Dim cmd As New SQLCommand Dim dt As DataTable cmd.C cmd.CommandText = "SE LECT * From {会计科目} Where [科目代码] = \'" & CStr(dr("科目代码")).SubString(0,i1) & "\'" dt = cmd.ExecuteReader If dt.DataRows.Count > 0 Then dr(strs1(i)) = dt.DataRows(0)("科目名称") \'dr("银行帐号") = dt.DataRows(0)("取值列2") \'dr("帐户类别") = dt.DataRows(0)("类别") Else dr(strs1(i) = Nothing \'dr("银行帐号") = Nothing \'dr("帐户类别") = Nothing End If Next End If |
-- 作者:有点色 -- 发布时间:2017/5/31 11:23:00 -- 没看懂你写的代码。做个例子上来说明你的需求。 |
-- 作者:yancheng -- 发布时间:2017/5/31 11:28:00 -- 会计科目: 科目代码 科目名称
1 A 一级科目 10 AB 二级科目 100 ABC 三级科目 我在,凭证明细,表,科目代码,变化为:为:100时,我希望,凭证明细,的一级,二级,三级科目都提取出来 |
-- 作者:有点色 -- 发布时间:2017/5/31 11:44:00 -- 加入代码 msgbox(dr("科目代码").SubString(0,i1))
看弹出的信息是否正确,如果正确,那就肯定能找到对应的值。 |
-- 作者:yancheng -- 发布时间:2017/5/31 12:04:00 -- 嗯。试了一下,这样可以: \'科目代码变化后,提取一级科目,二级科目等信息-------------------------------------------------------------------------------- If e.DataCol.Name = "科目代码" Then Dim dr As DataRow = e.DataRow Dim strs1() As String={"4","6","8"} Dim strs2() As String={"会计科目_一级科目","会计科目_二级科目","会计科目_三级科目"} Dim i1 As Integer = CStr(dr("科目代码")).Length For i As Integer = 0 To i1/2-2 Dim cmd As New SQLCommand Dim dt As DataTable cmd.C cmd.CommandText = "SELE CT * From {会计科目} Where [科目代码] = \'" & CStr(dr("科目代码")).SubString(0,strs1(i)) & "\'" dt = cmd.ExecuteReader If dt.DataRows.Count > 0 Then dr(strs2(i)) = dt.DataRows(0)("科目名称") Else dr(strs2(i)) = Nothing End If Next End If |