حالا با کدهای زیر میتوانیم رکوردهای 6 سطح کدینگ جدول Tbl_GroupsTables رو در یک سطح در جدول Tbl_Comparative_Reports اضافه کنیم
On Error Resume Next
Dim db As DAO.Database
Dim rs As DAO.Recordset
Call GetCodingWithIndexNo
'SetCriteria
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT * FROM Tbl_GroupsTables", dbOpenDynaset)
rs.MoveLast
rs.MoveFirst
For I = 1 To rs.RecordCount
DoCmd.RunSQL "INSERT INTO Tbl_Comparative_Reports (codlevel,Code, Title, Debit, Credit ) VALUES (1," & rs.Fields(Split(StCodFld, ",")(0)) & ", '" & rs.Fields(Split(StNamFld, ",")(0)) & "'," & rs.Fields("Debit") & ", " & rs.Fields("Credit") & " )"
DoCmd.RunSQL "INSERT INTO Tbl_Comparative_Reports (codlevel,Code, Title, Debit, Credit ) VALUES (2," & rs.Fields(Split(StCodFld, ",")(1)) & ", '" & rs.Fields(Split(StNamFld, ",")(1)) & "'," & rs.Fields("Debit") & ", " & rs.Fields("Credit") & " )"
DoCmd.RunSQL "INSERT INTO Tbl_Comparative_Reports (codlevel,Code, Title, Debit, Credit ) VALUES (3," & rs.Fields(Split(StCodFld, ",")(2)) & ", '" & rs.Fields(Split(StNamFld, ",")(2)) & "'," & rs.Fields("Debit") & ", " & rs.Fields("Credit") & " )"
DoCmd.RunSQL "INSERT INTO Tbl_Comparative_Reports (codlevel,Code, Title, Debit, Credit ) VALUES (4," & rs.Fields(Split(StCodFld, ",")(3)) & ", '" & rs.Fields(Split(StNamFld, ",")(3)) & "'," & rs.Fields("Debit") & ", " & rs.Fields("Credit") & " )"
DoCmd.RunSQL "INSERT INTO Tbl_Comparative_Reports (codlevel,Code, Title, Debit, Credit ) VALUES (5," & rs.Fields(Split(StCodFld, ",")(4)) & ", '" & rs.Fields(Split(StNamFld, ",")(4)) & "'," & rs.Fields("Debit") & ", " & rs.Fields("Credit") & " )"
DoCmd.RunSQL "INSERT INTO Tbl_Comparative_Reports (codlevel,Code, Title, Debit, Credit ) VALUES (6," & rs.Fields(Split(StCodFld, ",")(5)) & ", '" & rs.Fields(Split(StNamFld, ",")(5)) & "'," & rs.Fields("Debit") & ", " & rs.Fields("Credit") & " )"
rs.MoveNext
Next
rs.Close
Set rs = Nothing
قبل از اجرای کدهای بالا یک فیلد با نام codlevel در جدول Tbl_Comparative_Reports ایجاد می کنیم که در هنگام اضافه شدن رکورد به آن شماره سطح کدینگ در آن درج شود.
و بالاخره در مرحله نهائی با توجه به تجمیعی شدن رکوردها در کوئری qryGroup_Comparative_Reports لازم است شماره ردیف ها را طوری مرتب کنیم که رکوردها بر اساس سطوح انتخاب شده در زیر هم قرار بگیرند .
البته با توجه به قابل ویرایش نبودن کوئری qryGroup_Comparative_Reports میتوان این کوئری رو به یک جدول تبدیل کرد و در آن ستون ردیف رو ویرایش کرد
در واقع چالش و مشکل کار همینجاست که با توجه به ستون شماره سطح شماره های ستون ردیف رو به چه صورتی باید تغییر داد که رکوردها بر اساس سطوح انتخاب شده زیر هم قرار بگیرند