Msg.bas 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. Option Compare Database
  2. Sub testMSG()
  3. Call CreerMsg(12, , "T22")
  4. End Sub
  5. Public Function AfficherMsgProgression(titre As String, Optional ByVal msg As String)
  6. DoCmd.Hourglass True
  7. DoCmd.OpenForm "msg_traitement"
  8. forms![msg_traitement].[txt_titre].Caption = titre
  9. If Len(msg) > 0 Then
  10. forms![msg_traitement].[txt_msg].Caption = msg
  11. Else
  12. forms![msg_traitement].[txt_msg].Visible = False
  13. End If
  14. 'largeur_prog = 5137
  15. forms![msg_traitement].prog.Width = 1
  16. End Function
  17. Public Function MajMsgProgression(prog As Integer, Total As Integer)
  18. Dim taux As Single
  19. If Total = 0 Then Exit Function
  20. If CurrentProject.AllForms("msg_traitement").IsLoaded = False Then Exit Function
  21. taux = prog / Total
  22. forms![msg_traitement].prog.Width = 5137 * taux
  23. If prog >= Total Then
  24. DoCmd.Hourglass False
  25. DoCmd.Close acForm, "msg_traitement"
  26. End If
  27. End Function
  28. Public Function CreerMsg(code As Integer, Optional ByVal IDSuivi As Double, Optional ByVal AutreID As String, Optional ByVal val As String)
  29. 'cette fonction renvoie les messages de suivi stockés dans la table tbl_msg
  30. 'l'IDSuivi permet l'identification des lignes de tbl_SuiviRH
  31. 'la variable AutreID représente le code d'un agent, le nom d'un barème, ou tout autre identifiant nécessaire à un message
  32. 'la variable val fournit éventuellement une indication complémentaire
  33. Dim msg As String
  34. Dim rs As DAO.Recordset
  35. Select Case code
  36. Case 1
  37. 'import
  38. If Nz(IDSuivi, 0) > 0 Then
  39. Set rs = CurrentDb.OpenRecordset("SELECT * FROM tbl_SuiviRH WHERE [IDSuivi]=" & IDSuivi & ";")
  40. If rs.RecordCount = 0 Or rs.RecordCount > 1 Then
  41. msg = "Nouvelles données importées"
  42. Else
  43. msg = "Import des données de " & DLookup("Nom", "r_agents", "[CodeAgent]='" & rs![CodeAgent] & "'") & _
  44. " pour le mois de " & MonthName(rs![moisRH]) & " " & rs![anneeRH]
  45. End If
  46. Else
  47. msg = "Nouvelles données importées"
  48. End If
  49. Case 2
  50. 'validation
  51. If Nz(IDSuivi, 0) > 0 Then
  52. Set rs = CurrentDb.OpenRecordset("SELECT * FROM tbl_SuiviRH WHERE [IDSuivi]=" & IDSuivi & ";")
  53. If rs.RecordCount = 0 Or rs.RecordCount > 1 Then
  54. msg = "Des données ont été validées"
  55. Else
  56. msg = "Validation des données de " & DLookup("Nom", "r_agents", "[CodeAgent]='" & rs![CodeAgent] & "'") & _
  57. " pour le mois de " & MonthName(rs![moisRH]) & " " & rs![anneeRH]
  58. End If
  59. Else
  60. msg = "Des données ont été validées"
  61. End If
  62. Case 3
  63. 're-traitement des données
  64. If Nz(IDSuivi, 0) > 0 Then
  65. Set rs = CurrentDb.OpenRecordset("SELECT * FROM tbl_SuiviRH WHERE [IDSuivi]=" & IDSuivi & ";")
  66. If rs.RecordCount = 0 Or rs.RecordCount > 1 Then
  67. msg = "Des données ont été réanalysées"
  68. Else
  69. msg = "Ré-analyse des données de " & DLookup("Nom", "r_agents", "[CodeAgent]='" & rs![CodeAgent] & "'") & _
  70. " pour le mois de " & MonthName(rs![moisRH]) & " " & rs![anneeRH]
  71. End If
  72. Else
  73. msg = "Des données ont été réanalysées"
  74. End If
  75. Case 4
  76. 'formulaires edités
  77. If Nz(IDSuivi, 0) > 0 Then
  78. Set rs = CurrentDb.OpenRecordset("SELECT * FROM tbl_SuiviRH WHERE [IDSuivi]=" & IDSuivi & ";")
  79. If rs.RecordCount = 0 Or rs.RecordCount > 1 Then
  80. msg = "Formulaires edités"
  81. Else
  82. msg = "Edition des formulaires de " & DLookup("Nom", "r_agents", "[CodeAgent]='" & rs![CodeAgent] & "'") & _
  83. " pour le mois de " & MonthName(rs![moisRH]) & " " & rs![anneeRH]
  84. End If
  85. Else
  86. msg = "Formulaires edités"
  87. End If
  88. Case 11
  89. 'barème mise à jour
  90. If Len(Nz(AutreID, "")) > 0 Then
  91. If Len(Nz(val, "")) > 0 Then
  92. msg = "Le barème " & AutreID & " a été mis à jour (CodePeriode " & val & ")"
  93. Else
  94. msg = "Le barème " & AutreID & " a été mis à jour"
  95. End If
  96. Else
  97. msg = "Un barème a été mis à jour"
  98. End If
  99. Case 12
  100. 'agent mis à jour
  101. If Len(Nz(AutreID, "")) > 0 Then
  102. If Len(Nz(val, "")) > 0 Then
  103. msg = "Les données de l'agent " & DLookup("Nom", "r_agents", "[CodeAgent]='" & AutreID & "'") & " ont été mises à jour (CodePeriode " & val & ")"
  104. Else
  105. msg = "Les données de l'agent " & DLookup("Nom", "r_agents", "[CodeAgent]='" & AutreID & "'") & " ont été mises à jour"
  106. End If
  107. Else
  108. msg = "Les données d'un agent ont été mises à jour"
  109. End If
  110. Case 13
  111. 'agent créé
  112. If Len(Nz(AutreID, "")) > 0 Then
  113. msg = "L'agent " & DLookup("Nom", "r_agents", "[CodeAgent]='" & AutreID & "'") & " a été créé ('" & AutreID & "')"
  114. Else
  115. msg = "Un agent a été créé"
  116. End If
  117. Case 21
  118. 'mise à jour de l'appli
  119. msg = "L'application a été mise à jour"
  120. End Select
  121. Call NveauMsg(msg)
  122. CreerMsg = msg
  123. End Function
  124. Public Sub NveauMsg(msg As String)
  125. Dim rs As DAO.Recordset
  126. Set rs = CurrentDb.OpenRecordset("tbl_msg")
  127. rs.AddNew
  128. rs![msg] = msg
  129. rs![DateMsg] = Now()
  130. rs![User] = Environ("username")
  131. rs.Update
  132. rs.Close
  133. End Sub