Foxtable(狐表)用户栏目专家坐堂 → [求助]列内容变化后计算


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

主题:[求助]列内容变化后计算

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


加好友 发短信
等级:婴狐 帖子:74 积分:561 威望:0 精华:0 注册:2014/2/14 13:54:00
  发帖心情 Post By:2014/6/24 10:55:00 [显示全部帖子]

怎么解决啊?甜老师

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


加好友 发短信
等级:婴狐 帖子:74 积分:561 威望:0 精华:0 注册:2014/2/14 13:54:00
  发帖心情 Post By:2014/6/24 11:19:00 [显示全部帖子]

不是表C的问题把。。。我看前半段计算表A的代码就提示这个!!换定义的变量名还是怎么解决呢?

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


加好友 发短信
等级:婴狐 帖子:74 积分:561 威望:0 精华:0 注册:2014/2/14 13:54:00
  发帖心情 Post By:2014/6/24 14:31:00 [显示全部帖子]

运行一会就死机了!看来是数据太多了啊!用外部数据源能解决这个运算量太大的问题吗?

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


加好友 发短信
等级:婴狐 帖子:74 积分:561 威望:0 精华:0 注册:2014/2/14 13:54:00
  发帖心情 Post By:2014/6/24 14:48:00 [显示全部帖子]

最好帮忙写一个外部数据源的!!呵呵

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


加好友 发短信
等级:婴狐 帖子:74 积分:561 威望:0 精华:0 注册:2014/2/14 13:54:00
  发帖心情 Post By:2014/6/24 14:50:00 [显示全部帖子]

怎么传不上去呢

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


加好友 发短信
等级:婴狐 帖子:74 积分:561 威望:0 精华:0 注册:2014/2/14 13:54:00
  发帖心情 Post By:2014/6/24 14:58:00 [显示全部帖子]

我正在传呢?有几万条吧。我现在还没拿到这个图表,就是先学习着做这个东西!
不过一开始用我笔记本做累加值的时候,真的出现了
indec was out of rang.must be non-negative and less than the size of the collection .
parameter name : index
我之前还在表A中做了一个导入的按钮,一个计算的按钮,还有这个累加的按钮。是不是这个计算的按钮和这个累加计算的按钮有重复?能不能帮忙想想办法啊?甜老师

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


加好友 发短信
等级:婴狐 帖子:74 积分:561 威望:0 精华:0 注册:2014/2/14 13:54:00
  发帖心情 Post By:2014/6/24 15:07:00 [显示全部帖子]

Dim strs As List(Of String) = DataTables("产品").GetValues("名称")

For Each str As String In strs
    Dim drs As List(Of DataRow) = DataTables("产品").Select("名称 = '" & str & "'", "时间")
    Dim dr1 As DataRow = drs(0)
    dr1("距离累加值") = 0
    For i As Integer = 1 To drs.Count - 1
        Dim x1 As Double = drs(i-1)("纬度")
        Dim y1 As Double = drs(i-1)("经度")
        Dim x2 As Double = drs(i)("纬度")
        Dim y2 As Double = drs(i)("经度")
        
        Dim rad As Double = 6371
        Dim p1X As Double = X1 / 180 * Math.PI
        Dim p1Y As Double = Y2 / 180 * Math.PI
        Dim p2X As Double = X2 / 180 * Math.PI
        Dim p2Y As Double = Y2 / 180 * Math.PI
        Dim result As Double = Math.Acos(Math.Sin(p1Y) * Math.Sin(p2Y) + Math.Cos(p1Y) * Math.Cos(p2Y) * Math.Cos(p2X - p1X)) * rad
        drs(i)("距离累加值") = drs(i-1)("距离累加值") + result

Next

这段代码单独也运算不了。也出现这条提示!这是和表A中的事件起冲突了?还是行数太多了,这个drs(i)长度不够了呢?


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


加好友 发短信
等级:婴狐 帖子:74 积分:561 威望:0 精华:0 注册:2014/2/14 13:54:00
  发帖心情 Post By:2014/6/24 15:21:00 [显示全部帖子]

甜老师:
我试验了一下,代码没问题,是电脑的问题。1000多行以后才提示,剩下1000来条就可以运算了!!悲催的电脑,我去!!!

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


加好友 发短信
等级:婴狐 帖子:74 积分:561 威望:0 精华:0 注册:2014/2/14 13:54:00
  发帖心情 Post By:2014/6/24 15:26:00 [显示全部帖子]

超过1000多条就提示那个数据框,不超过就能正常运算。

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


加好友 发短信
等级:婴狐 帖子:74 积分:561 威望:0 精华:0 注册:2014/2/14 13:54:00
  发帖心情 Post By:2014/6/24 15:49:00 [显示全部帖子]

按序排列就能运算几万条了。刚开始用的表格没按产品名称排序,所以就容易死机,谢谢甜老师和BIN老师了
谁有空在代码里帮我加一个先按产品名称排序的代码吧!

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