1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| Sub Maj_Etat()
'Cette macro renseigne le champs "Etat des lieux" du document en fonction de la ligne cochée dans le formulaire SuiviFA
'Dimensionnement des variables
Dim sql As String
Dim strDateDoc As Variant, str_EnvoiFA As Variant, str_RetourFA As Variant, str_Avis As Variant, str_PlannifFA As Variant, str_ObjRetourFA As Variant, var_ObjDoc As Variant 'dimensionnement de la variable sql
Dim str_StatutDoc As Variant, str_VersionDoc As Variant, str_NumFA As Variant
Dim Refdoc As Integer, str_IndiceFA As Integer
If Suivre Then 'si la checkbox est cochée
'Définition des variables
str_DateDoc = DLookup("[DateRéception]", "T_SuiviDoc", "[Clef_SuiviDoc]=" & Me.Clef_SuiviDoc) 'Date de livraison du document
var_ObjDoc = DLookup("[DatePrévisionnelle]", "T_SuiviDoc", "[Clef_SuiviDoc]=" & Me.Clef_SuiviDoc) 'Date de livraison du document
str_EnvoiFA = Me.EnvoiFA 'Date d'envoi de la FA
str_PlannifFA = Me.PlannifEnvoi 'Date prévisionnelle d'envoi de la FA
str_ObjRetourFA = Me.ObjectifRetour 'Date objective de retour de la FA
str_RetourFA = Me.RetourFA 'Date de retour de la FA
str_VersionDoc = DLookup("[Version]", "T_SuiviDoc", "[Clef_SuiviDoc]=" & Me.Clef_SuiviDoc) 'Version du document
str_NumFA = DLookup("[NumFA]", "T_FA", "[Clef_FA]=" & Me.N°FA) 'Numéro de la FA
str_IndiceFA = Me.Indice 'Indice de la FA
str_Avis = DLookup("[Status FA]", "T_StatusFA", "[Clef_StatusFA]=" & Me.Status) 'Avis sur la FA
'Définition du contenu de "Etat des lieux en fonction des 5 possibilités (Document en attente de réception, Réception du document, FA envoyée, FA retournée, Document reçu mais FA précédente non retournée)
If IsNull(str_DateDoc) Then str_StatutDoc = "Document V" & str_VersionDoc & " en attente de la soumission prévue le " & var_ObjDoc
If Not IsNull(str_DateDoc) And IsNull(str_EnvoiFA) And str_Avis <> "FA non soumise" Then str_StatutDoc = "Document V" & str_VersionDoc & " reçu le " & str_DateDoc & vbCrLf & "FA à faire pour le " & str_PlannifFA & vbCrLf
If Not IsNull(str_EnvoiFA) And IsNull(str_RetourFA) And str_Avis <> "ARAC" And str_Avis <> "Favorable" Then str_StatutDoc = str_NumFA & "-" & str_IndiceFA & " sur V" & str_VersionDoc & " avis " & str_Avis & " envoyée le " & str_EnvoiFA & vbCrLf & "Retour de FA attendu le " & str_ObjRetourFA
If Not IsNull(str_EnvoiFA) And str_Avis = "Favorable" Then str_StatutDoc = str_NumFA & "-" & str_IndiceFA & " sur V" & str_VersionDoc & " avis " & str_Avis & " envoyée le " & str_EnvoiFA
If Not IsNull(str_RetourFA) And str_Avis <> "Favorable" Then str_StatutDoc = str_NumFA & "-" & str_IndiceFA & " sur V" & str_VersionDoc & " avis " & str_Avis & " envoyée le " & str_EnvoiFA & vbCrLf & "FA retournée le " & str_RetourFA & vbCrLf & "Suite à statuer : Nouvelle soumission documentaire ou nouvelle FA?"
If str_Avis = "Non Examiné" Then str_StatutDoc = "Version du document, reçue le " & str_DateDoc & ", ne nécessitant pas d'analyse approfondie de la part du Client. "
If str_Avis = "Abandonné" Then str_StatutDoc = "Document abandonné en version " & str_VersionDoc & " le " & str_EnvoiFA & vbCrLf & "Voir le champs commentaire pour plus de détails."
If Not IsNull(str_EnvoiFA) And str_Avis = "ARAC" Then str_StatutDoc = str_NumFA & "-" & str_IndiceFA & " sur V" & str_VersionDoc & " avis " & str_Avis & " envoyée le " & str_EnvoiFA & vbCrLf & "Objectif d'envoi de la prochaine FA convenu au:"
If Not IsNull(str_DateDoc) And str_Avis = "FA non soumise" Then str_StatutDoc = "Document V" & str_VersionDoc & " reçu le " & str_DateDoc & vbCrLf & "FA à faire pour le " & str_PlannifFA & vbCrLf & "Acceptation du document conditionnée à la réception de la FA manquante"
Int_RefDoc = Me.Clef_Document.Value 'Stockage de la référence du document dans une variable
sql = "UPDATE T_Document SET [Etat des lieux] = """ & str_StatutDoc & """ WHERE Clef_Document=" & Int_RefDoc & ";" 'Ecriture de la requête ajout
With DoCmd
.SetWarnings False 'Désactivation des messages d'alertes d'Access
.RunSQL sql 'Exécute la requete ajout
.SetWarnings True 'Réactive les messages d'alerte Access
End With
Me.Refresh 'réactualise le formulaire
End If
End Sub |
Partager