Verrouillages.bas 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395
  1. Option Compare Database
  2. 'on trouve ici les fonctions qui controlent le verrouillage, la visibilité... des différents formulaires
  3. Public Function acces(ByVal login As String) As Integer
  4. 'util = parametre("acces", CurrentUser)
  5. Util = Nz(DLookup("[acces]", "ztblUtilisateurs", "[login]='" & login & "'"), "")
  6. If Util = "admin" Then
  7. acces = 2
  8. ElseIf Util = "rw" Then
  9. acces = 1
  10. Else
  11. acces = 0
  12. End If
  13. End Function
  14. Public Sub VerrouMenu(niv As Integer)
  15. Dim Util As String
  16. 'RW/administrateur?
  17. With forms![frm_menu]
  18. .txt_donnee.Visible = False
  19. .CreerForm.Enabled = False
  20. .FDep_Ouvrir.Enabled = False
  21. .FDep_Ouvrir.QuickStyle = 22
  22. .FHS_Ouvrir.Enabled = False
  23. .FHS_Ouvrir.QuickStyle = 22
  24. .EFD_Ouvrir.Enabled = False
  25. .EFD_Ouvrir.QuickStyle = 22
  26. .exportPeriple.Enabled = False
  27. .exportPeriple.QuickStyle = 22
  28. .CmdImpr.Enabled = False
  29. .EnregPDF.Enabled = False
  30. .BordEFD.Enabled = False
  31. .BordHS.Enabled = False
  32. .BordHSImpr.Enabled = False
  33. .BordEFDImpr.Enabled = False
  34. .BordHSpdf.Enabled = False
  35. .BordEFDpdf.Enabled = False
  36. .ValidForm.Enabled = False
  37. .InvalidForm.Enabled = False
  38. .DonneesAgentValide.Enabled = False
  39. .BaremeValide.Enabled = False
  40. .etiq_nodata.Visible = False
  41. .Edition.Visible = False
  42. If acces(CurrentUser) < 2 Then .InvalidForm.Visible = False
  43. If acces(CurrentUser) < 2 Then .Administration.Visible = False
  44. Select Case niv
  45. Case 0
  46. 'verrouillage total (par exemple pendant un traitement de données)
  47. Case 5
  48. 'mois et année selectionnés, mais pas l'agent
  49. .BaremeValide.Enabled = True
  50. Case 6
  51. 'pas d'agent selectionné, des données importées pour ce mois
  52. .BaremeValide.Enabled = True
  53. .BordEFD.Enabled = True
  54. .BordHS.Enabled = True
  55. .BordHSImpr.Enabled = True
  56. .BordEFDImpr.Enabled = True
  57. .BordHSpdf.Enabled = True
  58. .BordEFDpdf.Enabled = True
  59. Case 1
  60. 'pas de données pour ce mois
  61. .etiq_nodata.Visible = True
  62. .DonneesAgentValide.Enabled = True
  63. .BaremeValide.Enabled = True
  64. Case 2
  65. 'données importées mais pas analysées
  66. .txt_donnee.Visible = True
  67. If acces(CurrentUser) >= 1 Then forms![frm_menu].CreerForm.Enabled = True
  68. .BordEFD.Enabled = True
  69. .BordHS.Enabled = True
  70. .DonneesAgentValide.Enabled = True
  71. .BaremeValide.Enabled = True
  72. .BordHSImpr.Enabled = True
  73. .BordEFDImpr.Enabled = True
  74. .BordHSpdf.Enabled = True
  75. .BordEFDpdf.Enabled = True
  76. .exportPeriple.Enabled = True
  77. .exportPeriple.QuickStyle = 21
  78. Case 3
  79. 'données importées, analysées, pas validées
  80. .txt_donnee.Visible = True
  81. If acces(CurrentUser) >= 1 Then forms![frm_menu].CreerForm.Enabled = True
  82. .FDep_Ouvrir.Enabled = True
  83. .FDep_Ouvrir.QuickStyle = 21
  84. .FHS_Ouvrir.Enabled = True
  85. .FHS_Ouvrir.QuickStyle = 21
  86. .EFD_Ouvrir.Enabled = True
  87. .EFD_Ouvrir.QuickStyle = 21
  88. .BordEFD.Enabled = True
  89. .BordHS.Enabled = True
  90. If acces(CurrentUser) >= 1 Then forms![frm_menu].ValidForm.Enabled = True
  91. .DonneesAgentValide.Enabled = True
  92. .BaremeValide.Enabled = True
  93. .BordHSImpr.Enabled = True
  94. .BordEFDImpr.Enabled = True
  95. .BordHSpdf.Enabled = True
  96. .BordEFDpdf.Enabled = True
  97. .exportPeriple.Enabled = True
  98. .exportPeriple.QuickStyle = 21
  99. Case 4
  100. 'données importées, analysées, et validées
  101. If acces(CurrentUser) = 2 Then .InvalidForm.Visible = True
  102. If acces(CurrentUser) = 2 Then .InvalidForm.Enabled = True
  103. .txt_donnee.Visible = True
  104. .FDep_Ouvrir.Enabled = True
  105. .FDep_Ouvrir.QuickStyle = 21
  106. .FHS_Ouvrir.Enabled = True
  107. .FHS_Ouvrir.QuickStyle = 21
  108. .EFD_Ouvrir.Enabled = True
  109. .EFD_Ouvrir.QuickStyle = 21
  110. If acces(CurrentUser) >= 1 Then .CmdImpr.Enabled = True
  111. If acces(CurrentUser) >= 1 Then .EnregPDF.Enabled = True
  112. .BordEFD.Enabled = True
  113. .BordHS.Enabled = True
  114. .DonneesAgentValide.Enabled = True
  115. .BaremeValide.Enabled = True
  116. .BordHSImpr.Enabled = True
  117. .BordEFDImpr.Enabled = True
  118. .BordHSpdf.Enabled = True
  119. .BordEFDpdf.Enabled = True
  120. .exportPeriple.Enabled = True
  121. .exportPeriple.QuickStyle = 21
  122. End Select
  123. End With
  124. End Sub
  125. Public Sub VerrouMAJAgent(niv As Integer)
  126. 'gestion des verrouillages du formulaire frm_MAJAgent
  127. forms![frm_MAJAgent].DateInf.Locked = True
  128. forms![frm_MAJAgent].NvelleDate.Locked = True
  129. forms![frm_MAJAgent].CopieAnc.Locked = True
  130. forms![frm_MAJAgent].CodeAgent.Locked = True
  131. forms![frm_MAJAgent].Nom.Locked = True
  132. forms![frm_MAJAgent].Grade.Locked = True
  133. forms![frm_MAJAgent].Catégorie.Locked = True
  134. forms![frm_MAJAgent].RémunérationBase.Locked = True
  135. forms![frm_MAJAgent].Groupe.Locked = True
  136. forms![frm_MAJAgent].Matricule.Locked = True
  137. forms![frm_MAJAgent].TypeVehicule.Locked = True
  138. forms![frm_MAJAgent].DateAutorisationVP.Locked = True
  139. forms![frm_MAJAgent].PuissanceFiscVP.Locked = True
  140. forms![frm_MAJAgent].NbKmAutorisesVP.Locked = True
  141. forms![frm_MAJAgent].ResidenceAdmin.Locked = True
  142. forms![frm_MAJAgent].ResidenceFamiliale.Locked = True
  143. forms![frm_MAJAgent].Telephone.Locked = True
  144. forms![frm_MAJAgent].TypeVirement.Locked = True
  145. forms![frm_MAJAgent].txt_ancdate.Visible = True
  146. forms![frm_MAJAgent].txt_nvdate.Visible = True
  147. forms![frm_MAJAgent].txt_copie.Visible = True
  148. forms![frm_MAJAgent].txt_edition.Visible = False
  149. forms![frm_MAJAgent].CmdOK.Enabled = False
  150. Select Case niv
  151. Case 0 'mise à jour du formulaire: déverouillage total
  152. forms![frm_MAJAgent].DateInf.Locked = False
  153. forms![frm_MAJAgent].NvelleDate.Locked = False
  154. forms![frm_MAJAgent].CopieAnc.Locked = False
  155. forms![frm_MAJAgent].CodeAgent.Locked = False
  156. forms![frm_MAJAgent].Nom.Locked = False
  157. forms![frm_MAJAgent].Grade.Locked = False
  158. forms![frm_MAJAgent].Catégorie.Locked = False
  159. forms![frm_MAJAgent].RémunérationBase.Locked = False
  160. forms![frm_MAJAgent].Groupe.Locked = False
  161. forms![frm_MAJAgent].Matricule.Locked = False
  162. forms![frm_MAJAgent].TypeVehicule.Locked = False
  163. forms![frm_MAJAgent].DateAutorisationVP.Locked = False
  164. forms![frm_MAJAgent].PuissanceFiscVP.Locked = False
  165. forms![frm_MAJAgent].NbKmAutorisesVP.Locked = False
  166. forms![frm_MAJAgent].ResidenceAdmin.Locked = False
  167. forms![frm_MAJAgent].ResidenceFamiliale.Locked = False
  168. forms![frm_MAJAgent].Telephone.Locked = False
  169. forms![frm_MAJAgent].TypeVirement.Locked = False
  170. Case 1 'ouverture du form, tout est verrouillé sauf la date de début de la nouvelle période et l'option copie des anciennes données
  171. If acces(CurrentUser) >= 1 Then forms![frm_MAJAgent].NvelleDate.Locked = False
  172. If acces(CurrentUser) >= 1 Then forms![frm_MAJAgent].CopieAnc.Locked = False
  173. If acces(CurrentUser) >= 1 Then forms![frm_MAJAgent].CmdOK.Enabled = True
  174. Case 2 'renseignement des nouvelles données
  175. forms![frm_MAJAgent].txt_ancdate.Visible = False
  176. forms![frm_MAJAgent].txt_nvdate.Visible = False
  177. forms![frm_MAJAgent].txt_copie.Visible = False
  178. forms![frm_MAJAgent].NvelleDate.Visible = False
  179. forms![frm_MAJAgent].CopieAnc.Visible = False
  180. forms![frm_MAJAgent].CmdOK.Visible = False
  181. forms![frm_MAJAgent].txt_edition.Visible = True
  182. forms![frm_MAJAgent].Grade.Locked = False
  183. forms![frm_MAJAgent].Catégorie.Locked = False
  184. forms![frm_MAJAgent].RémunérationBase.Locked = False
  185. forms![frm_MAJAgent].Groupe.Locked = False
  186. forms![frm_MAJAgent].Matricule.Locked = False
  187. forms![frm_MAJAgent].TypeVehicule.Locked = False
  188. forms![frm_MAJAgent].DateAutorisationVP.Locked = False
  189. forms![frm_MAJAgent].PuissanceFiscVP.Locked = False
  190. forms![frm_MAJAgent].NbKmAutorisesVP.Locked = False
  191. forms![frm_MAJAgent].ResidenceAdmin.Locked = False
  192. forms![frm_MAJAgent].ResidenceFamiliale.Locked = False
  193. forms![frm_MAJAgent].Telephone.Locked = False
  194. forms![frm_MAJAgent].TypeVirement.Locked = False
  195. End Select
  196. End Sub
  197. Public Sub VerrouMAJbareme(niv As Integer)
  198. 'gestion des verrouillages du formulaire frm_MAJBareme
  199. forms![frm_MAJBareme].DateInf.Locked = True
  200. forms![frm_MAJBareme].NvelleDate.Locked = True
  201. forms![frm_MAJBareme].CopieAnc.Locked = True
  202. forms![frm_MAJBareme].BorneInf.Locked = True
  203. forms![frm_MAJBareme].BorneSup.Locked = True
  204. forms![frm_MAJBareme].UniteBornes.Locked = True
  205. forms![frm_MAJBareme].Valeur.Locked = True
  206. forms![frm_MAJBareme].UniteValeur.Locked = True
  207. forms![frm_MAJBareme].txt_ancdate.Visible = True
  208. forms![frm_MAJBareme].txt_nvdate.Visible = True
  209. forms![frm_MAJBareme].txt_copie.Visible = True
  210. forms![frm_MAJBareme].txt_edition.Visible = False
  211. forms![frm_MAJBareme].CmdOK.Enabled = False
  212. forms![frm_MAJBareme].InserLigne.Visible = False
  213. forms![frm_MAJBareme].SupprLigne.Visible = False
  214. Select Case niv
  215. Case 0 'mise à jour du formulaire: déverouillage total
  216. forms![frm_MAJBareme].DateInf.Locked = False
  217. forms![frm_MAJBareme].NvelleDate.Locked = False
  218. forms![frm_MAJBareme].CopieAnc.Locked = False
  219. forms![frm_MAJBareme].BorneInf.Locked = False
  220. forms![frm_MAJBareme].BorneSup.Locked = False
  221. forms![frm_MAJBareme].UniteBornes.Locked = False
  222. forms![frm_MAJBareme].Valeur.Locked = False
  223. forms![frm_MAJBareme].UniteValeur.Locked = False
  224. Case 1 'ouverture du form, tout est verrouillé sauf la date de début de la nouvelle période et l'option copie des anciennes données
  225. If acces(CurrentUser) >= 1 Then forms![frm_MAJBareme].NvelleDate.Locked = False
  226. If acces(CurrentUser) >= 1 Then forms![frm_MAJBareme].CopieAnc.Locked = False
  227. If acces(CurrentUser) >= 1 Then forms![frm_MAJBareme].CmdOK.Enabled = True
  228. Case 2 'renseignement des nouvelles données
  229. forms![frm_MAJBareme].BorneInf.Locked = False
  230. forms![frm_MAJBareme].BorneSup.Locked = False
  231. forms![frm_MAJBareme].Valeur.Locked = False
  232. forms![frm_MAJBareme].UniteBornes.Locked = False
  233. forms![frm_MAJBareme].UniteValeur.Locked = False
  234. forms![frm_MAJBareme].txt_ancdate.Visible = False
  235. forms![frm_MAJBareme].txt_nvdate.Visible = False
  236. forms![frm_MAJBareme].txt_copie.Visible = False
  237. forms![frm_MAJBareme].NvelleDate.Visible = False
  238. forms![frm_MAJBareme].CopieAnc.Visible = False
  239. forms![frm_MAJBareme].CmdOK.Visible = False
  240. forms![frm_MAJBareme].InserLigne.Visible = True
  241. forms![frm_MAJBareme].SupprLigne.Visible = True
  242. forms![frm_MAJBareme].txt_edition.Visible = True
  243. End Select
  244. End Sub
  245. Public Sub VerrouSfrmDetailBareme(frm As Object, niv As Integer)
  246. With frm
  247. If acces(CurrentUser) = 0 Then
  248. .MAJBareme.Visible = False
  249. End If
  250. .[sfrm_detailbareme].Form.Valeur.SetFocus 'un contrôle doit être actif, et rester visible
  251. .[sfrm_detailbareme].Form.NomBareme.Visible = False
  252. .[sfrm_detailbareme].Form.BorneInf.Visible = False
  253. .[sfrm_detailbareme].Form.BorneSup.Visible = False
  254. .[sfrm_detailbareme].Form.De.Visible = False
  255. .[sfrm_detailbareme].Form.A.Visible = False
  256. .[sfrm_detailbareme].Form.UniteBornes.Visible = False
  257. .[sfrm_detailbareme].Form.UniteValeur.Visible = False
  258. .[sfrm_detailbareme].Form.par.Visible = False
  259. Select Case niv
  260. Case 0 'pas de données
  261. Case 1 'le barême est un simple coefficient 'ex: tarif des repas
  262. .[sfrm_detailbareme].Form.par.Visible = True
  263. .[sfrm_detailbareme].Form.UniteBornes.Visible = True
  264. .[sfrm_detailbareme].Form.NomBareme.Visible = True
  265. .[sfrm_detailbareme].Form.UniteValeur.Visible = True
  266. Case 2 'barême (ex: frais kilométriques)
  267. .[sfrm_detailbareme].Form.NomBareme.Visible = True
  268. .[sfrm_detailbareme].Form.BorneInf.Visible = True
  269. .[sfrm_detailbareme].Form.BorneSup.Visible = True
  270. .[sfrm_detailbareme].Form.De.Visible = True
  271. .[sfrm_detailbareme].Form.A.Visible = True
  272. .[sfrm_detailbareme].Form.UniteBornes.Visible = True
  273. .[sfrm_detailbareme].Form.UniteValeur.Visible = True
  274. End Select
  275. End With
  276. End Sub
  277. Public Sub VerrouNouvelAgent()
  278. 'gestion des verrouillages du formulaire frm_NouvelAgent
  279. End Sub
  280. Public Sub VerrouDonneesImport(niv As Integer)
  281. Select Case niv
  282. Case 0
  283. ' pas de verouillage
  284. forms![frm_donneesRH].strEquipesLibelle.Enabled = True
  285. forms![frm_donneesRH].DateRH.Enabled = True
  286. forms![frm_donneesRH].CodeChantier.Enabled = True
  287. forms![frm_donneesRH].CodeLocalisation.Enabled = True
  288. 'Forms![frm_donneesRH].Localisation.Enabled = True
  289. forms![frm_donneesRH].strCategorieInterventionId.Enabled = True
  290. forms![frm_donneesRH].HeureSup1.Enabled = True
  291. forms![frm_donneesRH].HeureSup2.Enabled = True
  292. forms![frm_donneesRH].HeureSupDimanche.Enabled = True
  293. forms![frm_donneesRH].Repas.Enabled = True
  294. forms![frm_donneesRH].DistanceTranche1.Enabled = True
  295. forms![frm_donneesRH].VehiculePersoTranche1.Enabled = True
  296. forms![frm_donneesRH].DistanceTranche2.Enabled = True
  297. forms![frm_donneesRH].VehiculePersoTranche2.Enabled = True
  298. forms![frm_donneesRH].FichierXml.Enabled = True
  299. Case 1
  300. ' verrouillage
  301. forms![frm_donneesRH].strEquipesLibelle.Enabled = False
  302. forms![frm_donneesRH].DateRH.Enabled = False
  303. forms![frm_donneesRH].CodeChantier.Enabled = False
  304. forms![frm_donneesRH].CodeLocalisation.Enabled = False
  305. 'Forms![frm_donneesRH].Localisation.Enabled = False
  306. forms![frm_donneesRH].strCategorieInterventionId.Enabled = False
  307. forms![frm_donneesRH].HeureSup1.Enabled = False
  308. forms![frm_donneesRH].HeureSup2.Enabled = False
  309. forms![frm_donneesRH].HeureSupDimanche.Enabled = False
  310. forms![frm_donneesRH].Repas.Enabled = False
  311. forms![frm_donneesRH].DistanceTranche1.Enabled = False
  312. forms![frm_donneesRH].VehiculePersoTranche1.Enabled = False
  313. forms![frm_donneesRH].DistanceTranche2.Enabled = False
  314. forms![frm_donneesRH].VehiculePersoTranche2.Enabled = False
  315. forms![frm_donneesRH].FichierXml.Enabled = False
  316. End Select
  317. End Sub