Foxtable(狐表)用户栏目专家坐堂 → 跨表引用统计


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

主题:跨表引用统计

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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
  发帖心情 Post By:2015/5/5 22:18:00 [只看该作者]

谢谢狐友。

1. 统计时间可行,但每次要选择;2. 代码简洁,但随着行数量增加,迟早机器会崩溃。

能否用类似for...next语句,比如每200行退出,让后再继续执行,直到完成所有,谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍03
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:15 积分:135 威望:0 精华:0 注册:2015/5/5 21:03:00
  发帖心情 Post By:2015/5/5 22:20:00 [只看该作者]

那就是20楼。再结合19楼,已经计算过的,就不重新计算就行。


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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
  发帖心情 Post By:2015/5/6 9:42:00 [只看该作者]

使用了20楼代码,但是报错,水平有限对代码不甚理解,请继续指点,谢谢!

图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图15年05月06日0938_1.jpg
图片点击可在新窗口打开查看


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/6 9:43:00 [只看该作者]

 例子,代码都贴上来。

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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
  发帖心情 Post By:2015/5/6 22:17:00 [只看该作者]

20楼代码,精简一些,小修改,比如,操纵者改为操纵,其余未变,请测试,谢谢
Dim dt As DataTable = DataTables("人员任务统计")
dt.DataRows.Clear
Dim cs() As String = {"操纵", "左座", "右座", "观察员1"}
For Each dr As DataRow In DataTables("任务书").S
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:跨表统计.zip

elect("", "飞行日期")
    Dim ndr As DataRow
    Dim cdr As DataRow = Nothing
    For Each c As String In cs
        If dr.IsNull(c) = False Then
            If c = "操纵者" Then
                ndr = dt.AddNew
                cdr = ndr
            Else
                If cdr("姓名") = dr(c) Then
                    ndr = cdr
                Else
                    ndr = dt.AddNew
                End If
            End If
            ndr("飞行日期") = dr("飞行日期")
            ndr("姓名") = dr(c)
            ndr(c) = True
            ndr("总时间") = dr("总时间")
            ndr("经历时间") = dr("经历时间")
        End If
    Next
Next

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/5/6 22:22:00 [只看该作者]

Dim dt As DataTable = DataTables("人员任务统计")
dt.DataRows.Clear
Dim cs() As String = {"操纵", "左座", "右座", "观察员1"}
DataTables("任务书").StopRedraw
For Each dr As DataRow In DataTables("任务书").Select("", "飞行日期")
    Dim ndr As DataRow
    Dim cdr As DataRow = Nothing
    For Each c As String In cs
        If dr.IsNull(c) = False Then
            If c = "操纵" Then
                ndr = dt.AddNew
                cdr = ndr
            Else
                If cdr("姓名") = dr(c) Then
                    ndr = cdr
                Else
                    ndr = dt.AddNew
                End If
            End If
            ndr("飞行日期") = dr("飞行日期")
            ndr("姓名") = dr(c)
            ndr(c) = True
            ndr("总时间") = dr("总时间")
            ndr("经历时间") = dr("经历时间")
        End If
    Next
Next
DataTables("任务书").ResumeRedraw

 回到顶部
总数 26 上一页 1 2 3