Foxtable(狐表)用户栏目专家坐堂 → [求助]如何将下边的代码生成的数据保存,下次打开表的时候还在呢?


  共有8078人关注过本帖树形打印复制链接

主题:[求助]如何将下边的代码生成的数据保存,下次打开表的时候还在呢?

帅哥哟,离线,有人找我吗?
hrw68529
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1147 积分:8953 威望:0 精华:0 注册:2012/7/10 9:09:00
[求助]如何将下边的代码生成的数据保存,下次打开表的时候还在呢?  发帖心情 Post By: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


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/2/25 8:55:00 [只看该作者]

是不是这个原因:

http://www.foxtable.com/help/topics/1380.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/2/25 8:58:00 [只看该作者]

 你的这个数据表是临时表么?

http://www.foxtable.com/help/topics/0626.htm

 如果不是,是否是你没有保存?

 回到顶部
帅哥哟,离线,有人找我吗?
hrw68529
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1147 积分:8953 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/2/25 9:46:00 [只看该作者]

 行政编制数根据什么得出?怎么去变?

 回到顶部
帅哥哟,离线,有人找我吗?
hrw68529
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1147 积分:8953 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2013/2/25 9:53:00 [只看该作者]

行政编制数在单位基础数据中,一般不变,直接输入的

 回到顶部
帅哥哟,离线,有人找我吗?
hrw68529
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1147 积分:8953 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2013/2/25 10:35:00 [只看该作者]

就像已登记人数引用初始登记人数一样,只不过,行政编制数引用不变化

 回到顶部
帅哥哟,离线,有人找我吗?
hrw68529
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1147 积分:8953 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2013/2/25 10:36:00 [只看该作者]

我把e.DataRow("行政编制数") = fdr("行政编制数") 加到e.DataRow("已登记人数") = fdr("初始登记人数")上方,第一次引用有数据,但第二次引用该单位时,不出现数据,

 回到顶部
帅哥哟,离线,有人找我吗?
hrw68529
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1147 积分:8953 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2013/2/25 10:38: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("行政编制数") 
                e.DataRow("已登记人数") = fdr("初始登记人数")
                End If
            Else
                e.DataRow("已登记人数") = fdr("登记后人数")
            End If
        End If
End Select


 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By: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


 回到顶部