'Debug.Print "TypeES='E' And CodeObjet='" & CodeObjet & "' And CodeMagasin=" & CodeMagasin
'QteStockE = Nz(DLookup("Quantite", "ReMouvement_1", "TypeES='E' And CodeObjet='" & CodeObjet & "' And
CodeMagasin=" & CodeMagasin), 0)
QteStockE = Nz(DSum("Quantite", "ReMouvement_1CUMP", "TypeES='E' And CodeObjet='" & CodeObjet & "' And
CodeMagasin=" & CodeMagasin), 0)
QteStockVal = Nz(DSum("Quantification", "ReMouvement_1CUMP", "TypeES='E' And CodeObjet='" & CodeObjet & "' And
CodeMagasin=" & CodeMagasin), 0)
dDateDernMouv = DLast("DateMouv", "ReMouvement_1CUMP", "CodeObjet='" & CodeObjet & "' And CodeMagasin=" &
CodeMagasin)
QteStock = DSum("QteMvt", "ReMouvement_1", "CodeObjet='" & CodeObjet & "' And CodeMagasin=" & CodeMagasin)
Set rstRangement = CurrentDb.OpenRecordset("Select * From TRangements Where CodeMagasin=" & CodeMagasin & "
And CodeObjet='" & CodeObjet & "'")
With rstRangement
If (.RecordCount = 0) Then
.AddNew
Else
.Edit
End If
!CodeMagasin = CodeMagasin
!CodeObjet = CodeObjet
!QuantiteStock = QteStock
!DateDernierMouv = dDateDernMouv
'!PrixUMP = QteStockVal / QteStockE 'dblPMP
!PrixUMP = dblPMP
.Update
.Close
End With
2
With rstObjetCMP
.Edit
!CoutMoyenP = dblPMP 'QteStockVal / QteStock
.Update
.Close
End With
Exit Function
err_calc:
MsgBox err.Description
'Resume Next
End Function
Dim db As Database
Else
cpt = 0
4
.MoveLast
.MoveFirst
PatienterInit "Cration des lignes de rgularisation", True, .RecordCount
While Not .EOF
'!QteArticlePhysique
If (Not IsNull(DLookup("CodeObjet", "TRangements", "CodeMagasin=" & CodeMagasin & " And CodeObjet='" & !
CodeObjet & "'"))) Then
StrSql = "UPDATE TRangements SET QuantiteStock ='" & Nz(!QteArticlePhysique, 0) & "', QuantiteCloture ='" &
Nz(!QteArticlePhysique, 0) & "', DateCloture =#" & DateInv & "# "
StrSql = StrSql & "WHERE ((CodeObjet='" & !CodeObjet & "') AND (CodeMagasin=" & CodeMagasin & "))"
ExecuteSql StrSql
Else
rstRangement.AddNew
rstRangement!CodeObjet = !CodeObjet
rstRangement!CodeMagasin = CodeMagasin
rstRangement!CodeRangement = 1
rstRangement!QuantiteStock = Nz(!QteArticlePhysique, 0)
rstRangement!DateDernierMouv = DateInv
rstRangement!QuantiteCloture = Nz(!QteArticlePhysique, 0)
rstRangement!DateCloture = DateInv
rstRangement.Update
End If
.MoveNext
Wend
PatienterClear
End If
IdSaisieLigne = DLookup("IdSaisie", "TMouvement", "CodePiece='" & "INV-" & CodeInventaire & "'")
ExecuteSql "Update TMouvementArticle Set IdSaisie=" & IdSaisieLigne & " Where CodePiece='" & "INV-" &
CodeInventaire & "'"
6
MsgBox "L'inventaire n : " & CodeInventaire & " a t clotur !," & _
vbCrLf & cpt & " les carts ont t passs sur le bon n: " & "INV-" & CodeInventaire, vbInformation, "Cration
d'inventaire"
ExecuteSql "UPDATE TInventaires SET EtatInventaire ='C' WHERE (IdInventaire=" & CodeInventaire & ")"
.Close
End With
rstMouvement.Close
rstRangement.Close
End Function
QteStock = DSum("QteMvt", "ReMouvement_1", "CodeObjet='" & CodeObjet & "' And CodeMagasin=" & CodeMagasin)
Set rstRangement = CurrentDb.OpenRecordset("Select * From TRangements Where CodeMagasin=" & CodeMagasin & "
And CodeObjet='" & CodeObjet & "'")
With rstRangement
If (.RecordCount = 0) Then
.AddNew
Else
.Edit
End If
!CodeMagasin = CodeMagasin
!CodeObjet = CodeObjet
!QuantiteStock = QteStock
!DateDernierMouv = dDateDernMouv
.Update
.Close
9
End With
Exit Function
err_calc:
MsgBox err.Description
'Resume Next
End Function
Function IndexationStock()
On Error GoTo Err_Calcul_Stock
Dim cpt As Long
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("Select * From ReMouvement_1 ")
With rs
If (.RecordCount > 0) Then
.MoveLast
.MoveFirst
cpt = 0
PatienterInit "Indexation du stock", True, .RecordCount
While Not .EOF
cpt = cpt + 1
' PatienterUpdate cpt, !CodeObjet
PatienterUpdate cpt, !Designation
10
11