Foxtable(狐表)用户栏目专家坐堂 → [求助]行计算


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

主题:[求助]行计算

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


加好友 发短信
等级:五尾狐 帖子:1140 积分:11255 威望:0 精华:0 注册:2017/9/26 16:30:00
[求助]行计算  发帖心情 Post By:2020/5/21 18:14:00 [只看该作者]

老师好!我计算表中6000多行的涨跌幅,有20多行出错,比如图中1997-5-26这一天的。但是没有找到出错原因,请老师帮助看一下代码。

谢谢!

 


图片点击可在新窗口打开查看此主题相关图片如下:002.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:txt数据导入.table


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107751 积分:548094 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/21 20:16:00 [只看该作者]

Dim codes As List (Of String) = DataTables("股piao信息明细表").GetValues("代码 Is Not Null","代码")
For Each code As String In codes
    Dim drlist As List (Of DataRow) = DataTables("股piao信息明细表").Select("代码 = '" & code & "'","时间")
    drlist(0)("涨跌幅") = (drlist(0)("收盘价") - drlist(0)("开盘价")) / drlist(0)("开盘价") * 1%
    For i As Integer = 1 To drlist.Count - 1
        drlist(i)("涨跌幅") = (drlist(i)("收盘价") - drlist(i - 1)("收盘价")) / drlist(i - 1)("收盘价") * 1%
    Next
Next

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


加好友 发短信
等级:五尾狐 帖子:1140 积分:11255 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2020/5/21 22:02:00 [只看该作者]

谢谢蓝老师!假如我对后台的多只股piao重算涨跌幅,为什么运行到加黑代码处会报错?

 

Dim codes As List (Of String) = DataTables("股piao日线").SQLGetValues("代码","代码 Is Not Null")
For Each code As String In codes
    msgbox(code)
    Dim drlist As List (Of DataRow) = DataTables("股piao日线").SQLSelect("代码 = '" & code & "'","日期")
    msgbox(1)
    'msgbox(drlist(0)("代码") )
    drlist(0)("涨跌幅") = (drlist(0)("收盘价") - drlist(0)("开盘价")) / drlist(0)("开盘价") * 100%
    For i As Integer = 1 To drlist.Count - 1
        drlist(i)("涨跌幅") = (drlist(i)("收盘价") - drlist(i - 1)("收盘价")) / drlist(i - 1)("收盘价") * 100%
    Next
    DataTables("指数日线").SQLUpdate(drlist)
Next

 

 


图片点击可在新窗口打开查看此主题相关图片如下:003.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107751 积分:548094 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/21 22:25:00 [只看该作者]

Dim drlist As List (Of DataRow) = DataTables("股piao日线").SQLSelect("代码 = '" & code & "'","日期")
if drlist.count = 0 then continue for

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


加好友 发短信
等级:五尾狐 帖子:1140 积分:11255 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2020/5/22 9:12:00 [只看该作者]

蓝老师,我加了这句代码:if drlist.count = 0 then continue for
后面的代码都没有运行,是怎么回事?但数据是有的~

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107751 积分:548094 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/22 9:32:00 [只看该作者]

应该是数据有问题,上传实例测试

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


加好友 发短信
等级:五尾狐 帖子:1140 积分:11255 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2020/5/22 10:27:00 [只看该作者]

是阿里云sql数据源,因为有密码,只发给老师。


以下内容是专门发给有点蓝浏览


 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107751 积分:548094 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/22 10:36:00 [只看该作者]

Dim drlist As List (Of DataRow) = DataTables("股piao日线").SQLSelect("代码 = '" & code & "'","","日期")

 回到顶部