我有一个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