以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]还是时间过滤问题?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=102462)

--  作者:小美菜
--  发布时间:2017/6/20 12:17:00
--  [求助]还是时间过滤问题?

我有一张表,有日期列,时间列。因为表的时间性太强!可是我想看在指定的时间内是否已经录入数据了,可是我编的代码却找不出来,也就是表明还未录入该事件数据,又重新录入,我查看结果了,重复得不能再重复了!

 tdr = tbl股票池记录表.Select( "[股票池名称] = \'" &  PoolName & "\' And [进入时间] = #" & dtTodayTime & "# And [股票代码] = " & CInt(StockC) )
        If tdr.Count<1 Then
            dr =tbl股票池记录表.AddNew()
            iCn=iCn+1
            dr("股票池名称")=PoolName
            dr("股票代码")=CInt(StockC)
            dr("进入日期")=dtTodayTime.Date
            dr("进入时间")=dtTodayTime 

            dr("进入价格")=sPrice
        End If
dtTodayTime是日期时间数据;录入后dr("进入时间")是正确的,比如8:45


--  作者:有点色
--  发布时间:2017/6/20 14:29:00
--  

要这样处理一下的。

 

Dim d As Date = "8:45"

d = New Date(1900, 1, 1, d.hour, d.minute, 0)

Tables("表A").Filter = "日期 = #" & d & "#"

 


--  作者:小美菜
--  发布时间:2017/6/20 19:36:00
--  
不理解!!我的dtTodayTime就是“2017-06-20 8:45”这样的。您意思是把后面的秒数归零?
--  作者:有点蓝
--  发布时间:2017/6/20 20:29:00
--  
到数据库查看一下数据是否包含了毫秒值。

代码弹出看看变量是否包含毫秒值:msgbox(dtTodayTime

--  作者:小美菜
--  发布时间:2017/6/20 22:19:00
--  

d = New Date(1900, 1, 1, d.hour, d.minute, 0)

这个,哪个是月哪个是日?
--  作者:有点蓝
--  发布时间:2017/6/20 22:22:00
--  
按顺序New Date(年, 月, 日, 时, 分, 秒)
--  作者:小美菜
--  发布时间:2017/6/20 22:24:00
--  
哦,谢谢。这个好像说明里面没有,在说明里面没有搜到
--  作者:有点蓝
--  发布时间:2017/6/20 22:47:00
--  
http://www.foxtable.com/webhelp/scr/1425.htm
--  作者:小美菜
--  发布时间:2017/6/21 12:08:00
--  

不行呀!还是过滤不了时间,

Dim dtTodayTime As Date = nowdt.AddSeconds(AddNum)
        dtTodayTime=NEW Date(dtTodayTime.Year, dtTodayTime.Month ,dtTodayTime.Day ,dtTodayTime.Hour,dtTodayTime.Minute,0 )
    Dim tdr As List(Of DataRow) \' =DataTables("今日提醒").Select( "[提醒来源] = \'" &  PoolName & "\' And [进入时间] = #" & dtTodayTime & "# And [股票代码] = " & CInt(StockC) )
        Dim dr As DataRow
        If PoolName="5分钟买入池" OrElse PoolName="15分钟买入池" OrElse PoolName="60分钟买入池" OrElse PoolName="5分钟卖出池" OrElse PoolName="15分钟卖出池" OrElse  PoolName="60分钟卖出池" Then
            tdr =DataTables("今日提醒").Select( "[提醒来源] = \'" &  PoolName & "\' And [进入日期] = #" & dtTodayTime & "# And [股票代码] = " & CInt(StockC) )
            If tdr.Count<1 Then
                dr =DataTables("今日提醒").AddNew()
                dr("提醒来源")=PoolName
                dr("股票代码")=CInt(StockC)
                dr("是否操作中")=True
                dr("进入日期")=dtTodayTime \'.Date\'new Date().AddHours(FileTime.Hour).AddMinutes(FileTime.Minute) \'cdate(sDateIn)
                dr("提醒价位")=sPrice
                dr("播报次数")=0
                dr("是股票")=True
            End If
        End If
        tdr = tbl股票池记录表.Select( "[股票池名称] = \'" &  PoolName & "\' And [进入时间] = #" & dtTodayTime & "# And [股票代码] = " & CInt(StockC) )
        \' OutputInfo( True,"[股票池名称] = \'" &  PoolName & "\' And [进入日期] = #" & FileTime.Date & "# num=" & tdr.Count)
        If tdr.Count<1 Then
            dr =tbl股票池记录表.AddNew()
            iCn=iCn+1
            dr("股票池名称")=PoolName
            dr("股票代码")=CInt(StockC)
            dr("进入日期")=dtTodayTime.Date
            dr("进入时间")=dtTodayTime \'.Date\'new Date().AddHours(FileTime.Hour).AddMinutes(FileTime.Minute) \'cdate(sDateIn)
            dr("进入价格")=sPrice
        End If


--  作者:有点色
--  发布时间:2017/6/21 12:11:00
--  

 你问题没有问清楚,代码这样写

 

tdr =DataTables("今日提醒").Select( "[提醒来源] = \'" &  PoolName & "\' And [进入日期] >= #" & date.Today & "# and [进入日期] < #" date.today.adddays(1) "# And [股票代码] = " & CInt(StockC) )