Function IndexationStock
description
Transcript of Function IndexationStock
![Page 1: Function IndexationStock](https://reader036.fdocuments.us/reader036/viewer/2022083017/56d6c0191a28ab301698eea5/html5/thumbnails/1.jpg)
1
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
CalculPMP !CodeObjet, !CodeMagasin
.MoveNext
Wend
End If
.Close
End With
Err_Calcul_Stock:
![Page 2: Function IndexationStock](https://reader036.fdocuments.us/reader036/viewer/2022083017/56d6c0191a28ab301698eea5/html5/thumbnails/2.jpg)
2
PatienterClear
End Function
Function CalculPMP(CodeObjet As String, CodeMagasin As Long)
On Error GoTo err_calc
Dim QteStockE As Double
Dim QteStock As Double
Dim QteStockVal As Double
Dim rstRangement As Recordset
Dim rstObjetCMP As Recordset
Dim dblPMP As Double
Dim dDateDernMouv As Date
'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)
'If (Not QteStock = 0) Then
If QteStockE = 0 Then
dblPMP = 0
Else
![Page 3: Function IndexationStock](https://reader036.fdocuments.us/reader036/viewer/2022083017/56d6c0191a28ab301698eea5/html5/thumbnails/3.jpg)
3
dblPMP = QteStockVal / QteStockE
'Else
' dblPMP = 0
End If
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
![Page 4: Function IndexationStock](https://reader036.fdocuments.us/reader036/viewer/2022083017/56d6c0191a28ab301698eea5/html5/thumbnails/4.jpg)
4
'Coder par moi
Set rstObjetCMP = CurrentDb.OpenRecordset("Select * From TObjets Where CodeObjet='" & CodeObjet & "'")
With rstObjetCMP
.Edit
!CoutMoyenP = dblPMP 'QteStockVal / QteStock
.Update
.Close
End With
Exit Function
err_calc:
MsgBox err.Description
'Resume Next
End Function
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Private Sub cboInventaire_AfterUpdate()
Dim strEtat As String
If (Not IsNull(Me.cboInventaire)) Then
Select Case Me.cboInventaire.Column(4)
Case "O"
Me![sfrmInventaireSaisie].Form![lblQteArticleTheorique].Visible = False
Me![sfrmInventaireSaisie].Form![QteArticleTheorique].Visible = False
strEtat = "Ouvert"
![Page 5: Function IndexationStock](https://reader036.fdocuments.us/reader036/viewer/2022083017/56d6c0191a28ab301698eea5/html5/thumbnails/5.jpg)
5
BoutonActif "Ajouter", Me.Name
Case "C"
Me![sfrmInventaireSaisie].Form![lblQteArticleTheorique].Visible = True
Me![sfrmInventaireSaisie].Form![QteArticleTheorique].Visible = True
strEtat = "Clôturé"
BoutonActif "Consulter", Me.Name
End Select
End If
Me.txtDate = Me.cboInventaire.Column(1)
Me.Caption = "Inventaire N° " & Me.cboInventaire & " - " & strEtat & " - (" & Me.cboInventaire.Column(2) & ")"
Me.sfrmInventaireSaisie.Requery
End Sub
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Private Sub cmdAccepter_Click()
If (Not IsNull(Me.cboInventaire)) Then
Select Case Me.cboInventaire.Column(4)
Case "O"
If (Not IsNull(Me.txtDate)) Then
If (DCount("CodeObjet", "TArticlesInventories", "QteArticlePhysique= Null And IdInventaire=" & Me.cboInventaire) > 0) Then
If (MsgBox("Certaines quantités physiques n'ont pas été saisies," & vbCrLf & _
"Voulez-vous continuer l'opération et les valider à 0 ?", vbYesNo, "Validation d'inventaire") <> vbYes) Then
![Page 6: Function IndexationStock](https://reader036.fdocuments.us/reader036/viewer/2022083017/56d6c0191a28ab301698eea5/html5/thumbnails/6.jpg)
6
Exit Sub
End If
End If
CreeBonDeRegularisation Me.cboInventaire, Me.cboInventaire.Column(5), Me.txtDate
InMouchard "Validation Inventaire N° : " & Nz(Me.cboInventaire, 0)
'Insertion dans la table des mouchards
' DateAction = Now
' SQLM = "INSERT INTO tMouchard (CodeUser, DateOperation, Operation) VALUES ('" & Me.txtUtilisateur & "','" & DateAction & "','connexion');"
' db.Execute (SQLM)
Else
MsgBox "Veuillez saisir la date de clôture !", vbInformation, "Validation d'inventaire"
Exit Sub
End If
BoutonActif "consulter", Me.Name
Case "C"
MsgBox "Opération impossible, Inventaire déjà clôturé !", vbInformation, "Validation d'inventaire"
'BoutonActif "Consulter", Me.name
End Select
![Page 7: Function IndexationStock](https://reader036.fdocuments.us/reader036/viewer/2022083017/56d6c0191a28ab301698eea5/html5/thumbnails/7.jpg)
7
End If
End Sub