Office中国论坛/Access中国论坛

标题: 根据一个日期字段取值 [打印本页]

作者: li_wanli    时间: 2013-10-11 16:40
标题: 根据一个日期字段取值
各位朋友好:
我有一个问题麻烦各位看一下,是否有解决办法
日期      汇率
2013/8/1 6.2511
2013/9/1 6.2437
2013/10/1 6.2875
就是汇率变更日期,当我取一个日期,比如2013/8/15,怎么能取到6.2511这个值
给您添麻烦了,谢谢!


作者: li_wanli    时间: 2013-10-11 18:08
tmtony站长,我一直期待您能帮我解决,可是级别太低不能给您留言
作者: netguestcn    时间: 2013-10-11 18:25
本帖最后由 netguestcn 于 2013-10-11 18:33 编辑

[attach]52495[/attach]


Public Function getRate(ByVal myDate As Date) As Double
    Dim Conn As ADODB.Connection
    Dim rst As New ADODB.Recordset
    Dim strSQL As String
    Dim i As Integer

    Set Conn = CurrentProject.Connection
    strSQL = "Select * FROM 汇率表 ORDER BY 日期 DESC"
    rst.Open strSQL, Conn, adOpenKeyset, adLockOptimistic

    rst.MoveFirst
    For i = 1 To rst.RecordCount
        If rst("日期") <= myDate Then
            getRate = rst("汇率")
            Exit For
        Else
            rst.MoveNext
        End If
    Next i

    rst.Close
    Set rst = Nothing
    Set Conn = Nothing
End Function

作者: li_wanli    时间: 2013-10-11 20:40
本帖最后由 li_wanli 于 2013-10-11 20:45 编辑

很有道理
做这个函数的确是很好的方法,我当时就是没想到用倒序的方法提取,你太有才了看的出来您是专门为我做的
非常感谢

作者: sxgaobo    时间: 2013-10-12 18:49
直接取日期的年月进行关联是否更简单点?
作者: li_wanli    时间: 2013-10-13 09:05
sxgaobo 发表于 2013-10-12 18:49
直接取日期的年月进行关联是否更简单点?

汇率表不是网上的汇率表,有可能根据个人需要每5天更新一次,那你的方法是做不到的




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3