簡體   English   中英

ms-access中的UPDATE sql查詢后,框保持為空

[英]boxes stay empty after UPDATE sql query in ms-access

我在MS ACCESS中創建了以下查詢:

"UPDATE dbo_PricingFutures
SET dbo_PricingFutures.ttm = 
DateDiff('m',dbo_PricingFutures.PricingDate,DateSerial(dbo_PricingFutures.PricingYear,dbo_PricingFutures.PricingMonth,14));"

當我運行查詢時,應該計算日期之間的差。 它說它將更新記錄:

更新行

但是,列中的字段保持為空。 我不明白為什么?

由於一個錯誤,列pricedate為空。 我運行了以下vba代碼:

Sub ttm()
    Dim db As Database, rs As DAO.Recordset, strsql As String
    Dim startdate As Date, maturity As Date, maturity_month As Double
    Dim maturity_year As Double

    Set db = CurrentDb()
    strsql = "SELECT * FROM dbo_PricingFutures ORDER BY PricingDate;"
    Set rs = db.OpenRecordset(strsql, dbOpenDynaset)
    rs.MoveFirst
    While (Not rs.EOF())
        rs.Edit
        startdate = rs.Fields("PricingDate")
        maturity_month = rs.Fields("PricingMonth")
        maturity_year = rs.Fields("PricingYear")
        maturity = DateSerial(maturity_year, maturity_month, 14)
        rs.Fields("ttm") = DateDiff("d", startdate, maturity)
        rs.Update
rs.MoveNext
    Wend

    rs.Close
    db.Close
End Sub

然后我在下面的行出現錯誤:

startdate = rs.Fields("PricingDate")

它顯示列PricingDate為空。 然后,我從舊的備份中獲取數據,將其復制/粘貼到PricingDate列中,並且運行良好。

SQL代碼正在運行,沒有顯示錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM