我有一個Access VBA項目,我正在開發並涉及循環。我有三個字段的基金號碼,生效日期和總金額。我正在嘗試創建一個VBA代碼,該代碼將通過賬戶ID進行循環,並總結過去5天(生效日期)基於基金活動的總金額。基本上,我在桌子上的輸入看起來像這樣。訪問VBA項目..創建循環以通過記錄集
Fund: Effective Date, Total Amount
586 01/02/2015 -454
586 01/03/2015 -454
586 01/04/2015 -454
586 01/05/2015 -454
586 01/06/2015 -854
586 01/07/2015 -954
586 01/08/2015 -254
586 01/09/2015 -154
586 01/10/2015 -654
586 01/13/2015 -354
486 01/02/2015 -954
486 01/03/2015 -954
486 01/05/2015 -954
486 01/07/2015 -954
486 01/09/2015 -954
486 01/010/2015 -954
該VBA將識別資金編號。將查看日期並使用生效日期在過去五天內總計資金總流出量。然後循環將返回到第二個日期,併爲該基金添加接下來的五天總流出量,一旦循環完成,第5天將移動到下一個日期等。一旦通過該基金#完成循環,它將移動下一基金#,做提到基金同樣的事情上面
我們的目標是最終輸出插入到另一個表,將是這個樣子
Id Date , ID Amount1, ID Amount1, ID Amount1, ID Amount1, Largest Redemption week date
Fund # Id Date , 01/02- 1/07 01/03- 1/08 01/04- 1/09 01/05- 1/10,
Etc Largest Redemption
Date Largest Redemtption Week Amount
44 -20788 -5788 -10500 5885 12/20/2014 -45855
88 -10788 -2788 -8500 3885 06/30/2014 -50000
60 -13788 -2788 -2500 1885 06/30/2014 -25000
So the final output will be inserted into another table and will look something like this
這是我到目前爲止所。 。我需要創建一個Access vba代碼,所以會給我上面的輸出。感謝您幫助
Option Compare Database
功能OpenRecordset()
昏暗dbsArchive數據庫 昏暗RS作爲DAO.Recordset 昏暗RS2作爲DAO.Recordset 昏暗我爲雙 昏暗的X爲雙 昏暗STRSQL作爲字符串 昏暗strFund作爲字符串 昏暗strCriteria作爲字符串 昏暗AddFundCriteria作爲雙人 昏暗FirstMark作爲變 昏暗IDFund作爲雙人 昏暗IDDate甲的雙重
集dbsArchive = CurrentDb 集RS = dbsArchive.OpenRecordset( 「2014」)
對於i = 0到rs.RecordCount - 1 strFund = rs.Fields( 「Link_Fund」)
StrSQL = "SELECT [USysD07366-2014].LINK_FUND, [USysD07366-2014].SUPER_SHEET_DATE," & _
"Sum([USysD07366-2014]![REDEMPT]+[USysD07366-2014]![EXCHANGE OUT]) AS RedemptionTotal " & _
"FROM [USysD07366-2014] " & _
"GROUP BY [USysD07366-2014].LINK_FUND, [USysD07366-2014].SUPER_SHEET_DATE " & _
"HAVING ((([USysD07366-2014].LINK_FUND) = " & strFund & ")) " & _
"ORDER BY [USysD07366-2014].SUPER_SHEET_DATE; "
Set rs2 = dbsArchive.OpenRecordset(StrSQL, dbOpenSnapshot)
對於x = 0到rs2.RecordCount! - 1
'strCriteria = 「鏈接基金=」 & rstCategories [鏈接基金]
Debug.Print rs2.Fields("Link_Fund")
Debug.Print rs2.Fields("SUPER_SHEET_DATE")
Debug.Print rs2.Fields("RedemptionTotal")
rs2.MoveNext
Next x
rs.MoveNext
Next i
rs.Close
rs2.Close
Set rs = Nothing
Set rs2 = Nothing
dbsArchive.Close
的ErrorHandler: MSGBOX 「錯誤#:」 &的Err.Number & vbCrLf & vbCrLf & Err.Description
End Function
你的問題是什麼?你試過什麼了? – Fjodr