-- 作者:天一生水
-- 发布时间:2020/9/3 20:35:00
-- [求助]日期列不同值的集合
老师好!
获取[日期]列中不同的日期,放入集合;
遍历不同日期时,比如把[日期]是明天的行选出来,按照 换手率 排序,取前10行。
下面的代码哪里错了?
谢谢!
Dim dr As DataRow Dim dr1 As DataRow \'获得所有日期,保存在集合中 Dim rq0s As List(Of String) = DataTables("批量预测").SQLGetValues("日期") For Each rq0 As String In rq0s \'获得该日期的全部行,按换手率排序 If CDate(rq0) = Date.Today.AddDays(1) Then \'预测明天,将字符转为日期 Dim rqs As List(Of DataRow) = DataTables("批量预测").sqlSelect("[日期] = \'" & CDate(rq0) & "\' And 4.5 < 预测涨跌幅 < 5.5 ", "平均换手率 DESC") msgbox(rqs.Count) If rqs.Count > 1 Then For n As Integer = 0 To 3 \'遍历前10行 dr = DataTables("牛熊池").sqlFind("[日期] = " & rq0 And "代码 = \'" & rqs(n)("代码") & "\'") If dr IsNot Nothing Then \'如果找到的话 dr("代码") = rqs(n)("代码") dr("日期") = rqs(n)("日期") dr("预测涨跌幅") = rqs(n)("预测涨跌幅") dr("预测时间") = Date.Now dr("预测来源") = "自动" Else dr1 = DataTables("牛熊池").AddNew() dr1("代码") = rqs(n)("代码") dr1("日期") = rqs(n)("日期") dr1("预测涨跌幅") = rqs(n)("预测涨跌幅") dr1("预测时间") = Date.Now dr("预测来源") = "自动" End If Next Else End If End If Next
|
-- 作者:天一生水
-- 发布时间:2020/9/3 22:11:00
--
谢谢!
可以了,但是加上排序,又找不到了,
Dim rqs As List(Of DataRow) = DataTables("批量预测").sqlSelect("[日期] = \'" & CDate(rq0) & "\' And 4.5 < 预测涨跌幅 and 预测涨跌幅 < 5.5 ", "","平均换手率 DESC")
知道了,[平均换手率]是表达式列,代码:
(isnull([上1日换手率],0) + isnull([上2日换手率],0) + isnull([上3日换手率],0)) / (iif([上1日换手率] is null, 0, 1) + iif([上2日换手率] is null, 0, 1) + iif([上3日换手率] is null, 0, 1)) 此主题相关图片如下:截屏图片.jpg
[此贴子已经被作者于2020/9/3 22:37:23编辑过]
|