| 日期 | 價值 |
|---|---|
| 2006 年 1 月 1 日 | 2個 |
| 2007 年 1 月 1 日 | 4個 |
| 2008 年 1 月 1 日 | 無效的 |
| 2009 年 1 月 1 日 | 無效的 |
大家好
我有個問題。我試圖找到 Microsoft Access 的查詢或 VBA 代碼,我可以在其中執行一個簡單的任務,如下所示:
- 如果該值為空,則在我們的例子中使用最后一個可用值(即)4,并將其增長一定百分比,如 2.5% 等。所以null會被替換成4*1.025=5等等,直到最后一條記錄。
你能幫忙嗎?
我嘗試了 SQL 和 VBA,但我有點迷路了。
uj5u.com熱心網友回復:
使用 VBA將表作為記錄集打開,并在存盤Value的值時回圈記錄。
當 Value 的值達到Null時,使用您的公式和上一條記錄的存盤值更新記錄的 Value ,存盤該值并繼續下一條記錄,更新這條記錄,等等,直到沒有更多記錄。
您可以嘗試像這樣修改您的代碼(空氣代碼):
Public Function UpdateValue()
Const factor As Currency = 1.025
Dim forecast As Currency
With CurrentDb.OpenRecordset("select value from macroforecastbudget order by [Date]")
If Not .EOF Then
.MoveFirst
Do Until .EOF
If Not IsNull(!Value) Then
forecast = !Value
Else
forecast = forecast * factor
.Edit
!Value = forecast
.Update
End If
.MoveNext
Loop
End If
.Close
End With
End Function
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/535585.html
上一篇:訪問,對于每個記錄行
