以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]如何将下边的代码生成的数据保存,下次打开表的时候还在呢? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=28981) |
|
-- 作者:hrw68529 -- 发布时间:2013/2/25 8:41:00 -- [求助]如何将下边的代码生成的数据保存,下次打开表的时候还在呢? 为什么下面一段代码执行后的数据,不有保存,保存后,再打开表,数据没有了,必须"重置列",为什么?,能否想办法,生成数据后,保存,请指教 Select Case e.DataCol.Name Case "审签序号" Dim total As Long Total = DataTables("人员增减").Compute("Count(_Identify)", "进入渠道 = 1 And 审签序号 = \'" & e.DataRow("审签序号") & "\'") e.DataRow("转任") = Iif(Total = 0, Nothing, Total) Total = DataTables("人员增减").Compute("Count(_Identify)", "进入渠道 = 2 And 审签序号 = \'" & e.DataRow("审签序号") & "\'") e.DataRow("调任") = iif(Total = 0, Nothing, Total) Total = DataTables("人员增减").Compute("Count(_Identify)", "进入渠道 = 3 And 审签序号 = \'" & e.DataRow("审签序号") & "\'") e.DataRow("交流") = iif(Total = 0, Nothing, Total) Total = DataTables("人员增减").Compute("Count(_Identify)", "进入渠道 = 4 And 审签序号 = \'" & e.DataRow("审签序号") & "\'") e.DataRow("军转") = iif(Total = 0, Nothing, Total) Total = DataTables("人员增减").Compute("Count(_Identify)", "进入渠道 = 5 And 审签序号 = \'" & e.DataRow("审签序号") & "\'") e.DataRow("考录") = iif(Total = 0, Nothing, Total) Total = DataTables("人员增减").Compute("Count(_Identify)", "进入渠道 = 6 And 审签序号 = \'" & e.DataRow("审签序号") & "\'") e.DataRow("过渡") = iif(Total = 0, Nothing, Total) Total = DataTables("人员增减").Compute("Count(_Identify)", "退出渠道 = 1 And 审签序号 = \'" & e.DataRow("审签序号") & "\'") e.DataRow("调出") = iif(Total = 0, Nothing, Total) Total = DataTables("人员增减").Compute("Count(_Identify)", "退出渠道 = 2 And 审签序号 = \'" & e.DataRow("审签序号") & "\'") e.DataRow("退休") = iif(Total = 0, Nothing, Total) Total = DataTables("人员增减").Compute("Count(_Identify)", "退出渠道 = 3 And 审签序号 = \'" & e.DataRow("审签序号") & "\'") e.DataRow("辞职辞退") = iif(Total = 0, Nothing, Total) Total = DataTables("人员增减").Compute("Count(_Identify)", "退出渠道 = 4 And 审签序号 = \'" & e.DataRow("审签序号") & "\'") e.DataRow("开除") = iif(Total = 0, Nothing, Total) Total = DataTables("人员增减").Compute("Count(_Identify)", "退出渠道 = 5 And 审签序号 = \'" & e.DataRow("审签序号") & "\'") e.DataRow("死亡") = iif(Total = 0, Nothing, Total) End Select |
|
-- 作者:狐狸爸爸 -- 发布时间:2013/2/25 8:55:00 -- 是不是这个原因: http://www.foxtable.com/help/topics/1380.htm
|
|
-- 作者:lin_hailun -- 发布时间:2013/2/25 8:58:00 -- 你的这个数据表是临时表么? http://www.foxtable.com/help/topics/0626.htm 如果不是,是否是你没有保存? |
|
-- 作者:hrw68529 -- 发布时间:2013/2/25 9:29:00 -- 谢谢狐爸,你说的对着,我已经改过来了,下边一段代码,还需你帮一下,原因:已登记人数第一次引用初始登记人数,随着数据变化,引用登记后人数,但行政编制数引用的不变,怎么加上,也就是引用的单位基础数据中的行政编制数不变,而已登记人数需随着数据变化而变化,请帮修改下.代码如下: Select Case e.DataCol.Name Case "县区", "单位名称" If e.DataRow.IsNull("县区") = False AndAlso e.DataRow.IsNull("单位名称") = False Then Dim fdr As DataRow = e.DataTable.Find("县区 = \'" & e.DataRow("县区") & "\' and 单位名称 = \'" & e.DataRow("单位名称") & "\' And _Identify <> " & e.DataRow("_Identify"), "_Identify Desc") If fdr Is Nothing Then fdr = DataTables("单位基础数据").Find("县区 = \'" & e.DataRow("县区") & "\' and 单位名称 = \'" & e.DataRow("单位名称") & "\'") If fdr IsNot Nothing Then e.DataRow("已登记人数") = fdr("初始登记人数") End If Else e.DataRow("已登记人数") = fdr("登记后人数") End If End If End Select |
|
-- 作者:lin_hailun -- 发布时间:2013/2/25 9:46:00 -- 行政编制数根据什么得出?怎么去变? |
|
-- 作者:hrw68529 -- 发布时间:2013/2/25 9:53:00 -- 行政编制数在单位基础数据中,一般不变,直接输入的 |
|
-- 作者:hrw68529 -- 发布时间:2013/2/25 10:35:00 -- 就像已登记人数引用初始登记人数一样,只不过,行政编制数引用不变化 |
|
-- 作者:hrw68529 -- 发布时间:2013/2/25 10:36:00 -- 我把e.DataRow("行政编制数") = fdr("行政编制数") 加到e.DataRow("已登记人数") = fdr("初始登记人数")上方,第一次引用有数据,但第二次引用该单位时,不出现数据, |
|
-- 作者:hrw68529 -- 发布时间:2013/2/25 10:38:00 -- 就像以下代码:
|
|
-- 作者:lin_hailun -- 发布时间:2013/2/25 11:18:00 -- 这样改一下吧。 Select Case e.DataCol.Name Case "县区", "单位名称" If e.DataRow.IsNull("县区") = False AndAlso e.DataRow.IsNull("单位名称") = False Then
Dim fdr As DataRow = e.DataTable.Find("县区 = \'" &
e.DataRow("县区") & "\' and 单位名称 = \'" & e.DataRow("单位名称") & "\'
And _Identify <> " & e.DataRow("_Identify"), "_Identify Desc") If fdr Is Nothing Then
fdr = DataTables("单位基础数据").Find("县区 = \'" &
e.DataRow("县区") & "\' and 单位名称 = \'" & e.DataRow("单位名称") &
"\'") If fdr IsNot Nothing Then e.DataRow("已登记人数") = fdr("初始登记人数") End If Else e.DataRow("已登记人数") = fdr("登记后人数") End If e.DataRow("行政编制数") = fdr("行政编制数") End If End Select |