
Originally Posted by
orange
I approved the post. Hope it helps. There is so little info about the application or what business it is intended to support.
Ah the O/P changed it to an attachment
that explains it.
At a quick glance, I would say yes, as mot of the code appears to be duplicated? 
So work up to where and from where it is not duplicated line by line and then compare each section in between?
Put each code block into a notepad window and compare side by side.
Also indenting it better/correctly would really help?
Code:
Private Sub Command2_Click()
Dim strSQL As String
Dim rs As DAO.Recordset
Dim rstT As DAO.Recordset
Dim i As Long
Dim PackageCountPan As Long
Dim NextPackageCountPan As Long
strSQL = "SELECT ERP_QOP_Query_T_TEMP.yearn FROM ERP_QOP_Query_T_TEMP GROUP BY ERP_QOP_Query_T_TEMP.yearn;"
Set rs = CurrentDb.OpenRecordset(strSQL)
rs.MoveFirst
Do
PackageCountPan = Nz(DLookup("panel", "ERP_QOP", "yearn='" & rs!YearN & "'"), 0)
If PackageCountPan = 0 Then
strSQL = "select * from ERP_QOP_Query_T_TEMP where yearn='" & rs!YearN & "'"
Set rstT = CurrentDb.OpenRecordset(strSQL)
i = 0
rstT.MoveFirst
Do
i = i + 1
rstT.Edit
rstT!panelCn = 0
rstT!panelF = 0
rstT!panelNF = rstT!Expcs
rstT!YearNcnt = i
rstT.Update
rstT.MoveNext
Loop Until rstT.EOF
GoTo NextPO
End If
NextPackageCountPan = PackageCountPan
strSQL = "SELECT * FROM ERP_QOP_Query_T_TEMP where yearn='" & rs!YearN & "'"
Set rstT = CurrentDb.OpenRecordset(strSQL)
i = 0
Do
i = i + 1
rstT.Edit
rstT!YearNcnt = i
If PackageCountPan > 0 Then
rstT!panelCn = PackageCountPan
End If
If NextPackageCountPan = 0 Then
rstT!panelNF = rstT!Expcs
Else
If rstT!Expcs < NextPackageCountPan Then
rstT!panelNF = 0
rstT!panelF = rstT!Expcs
NextPackageCountPan = NextPackageCountPan - rstT!Expcs
ElseIf rstT!Expcs = NextPackageCountPan Then
rstT!panelF = rstT!Expcs
rstT!panelNF = 0
NextPackageCountPan = 0
ElseIf rstT!Expcs > NextPackageCountPan Then
rstT!panelF = NextPackageCountPan
rstT!panelNF = rstT!Expcs - NextPackageCountPan
NextPackageCountPan = 0
End If
End If
PackageCountPan = 0
rstT.Update
rstT.MoveNext
Loop Until rstT.EOF
NextPO:
rs.MoveNext
Loop Until rs.EOF
Me.ERP_QOP_Query_T_TEMP_sub.Requery
End Sub
Private Sub Command5_Click()
Dim strSQL As String
Dim rs As DAO.Recordset
Dim rstT As DAO.Recordset
Dim i As Long
Dim PackageCount As Long
Dim NextPackageCount As Long
strSQL = "SELECT ERP_QOP_Query_T_TEMP.yearn FROM ERP_QOP_Query_T_TEMP GROUP BY ERP_QOP_Query_T_TEMP.yearn;"
Set rs = CurrentDb.OpenRecordset(strSQL)
rs.MoveFirst
Do
PackageCount = Nz(DLookup("Cutting", "ERP_QOP", "yearn='" & rs!YearN & "'"), 0)
If PackageCount = 0 Then
strSQL = "select * from ERP_QOP_Query_T_TEMP where yearn='" & rs!YearN & "'"
Set rstT = CurrentDb.OpenRecordset(strSQL)
i = 0
rstT.MoveFirst
Do
i = i + 1
rstT.Edit
rstT!CuttingCn = 0
rstT!CuttingF = 0
rstT!CuttingNF = rstT!Expcs
rstT!YearNcnt = i
rstT.Update
rstT.MoveNext
Loop Until rstT.EOF
GoTo NextPO
End If
NextPackageCount = PackageCount
strSQL = "SELECT * FROM ERP_QOP_Query_T_TEMP where yearn='" & rs!YearN & "'"
Set rstT = CurrentDb.OpenRecordset(strSQL)
i = 0
Do
i = i + 1
rstT.Edit
rstT!YearNcnt = i
If PackageCount > 0 Then
rstT!CuttingCn = PackageCount
End If
If NextPackageCount = 0 Then
rstT!CuttingNF = rstT!Expcs
Else
If rstT!Expcs < NextPackageCount Then
rstT!CuttingNF = 0
rstT!CuttingF = rstT!Expcs
NextPackageCount = NextPackageCount - rstT!Expcs
ElseIf rstT!Expcs = NextPackageCount Then
rstT!CuttingF = rstT!Expcs
rstT!CuttingNF = 0
NextPackageCount = 0
ElseIf rstT!Expcs > NextPackageCount Then
rstT!CuttingF = NextPackageCount
rstT!CuttingNF = rstT!Expcs - NextPackageCount
NextPackageCount = 0
End If
End If
PackageCount = 0
rstT.Update
rstT.MoveNext
Loop Until rstT.EOF
NextPO:
rs.MoveNext
Loop Until rs.EOF
Me.ERP_QOP_Query_T_TEMP_sub.Requery
End Sub