Demarrage.bas 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. Option Compare Database
  2. 'Version 1 du module
  3. Public Sub ChargementMenu()
  4. 'à lancer à l'ouverture de l'application à l'ouverture du menu
  5. ' peut aussi être lancee par le biais d'une macro nommée "AutoExec", mais doit être modifiée
  6. 'lance les différentes vérifications avant lancement: attaches des tables, version, autre
  7. Dim menu As String
  8. Dim msg, modeConnexion, connexionParDefaut As String
  9. Dim VersionAJour, connexionOk As Boolean
  10. 'le formulaire menu doit posséder les objets suivants:
  11. 'etiquette: lbVersion
  12. 'etiquette: statVersion
  13. 'bouton: cmdMajConnexion
  14. 'etiquette: txtModeConnexion
  15. DoCmd.RunCommand acCmdAppRestore
  16. DoCmd.RunCommand acCmdAppMaximize
  17. menu = "frm_Menu"
  18. '*** utilisateur, droits
  19. 'on vérifie que l'utilisateur existe dans la base
  20. DoCmd.SetWarnings False
  21. If Not DCount("login", "ztblUtilisateurs", "[login]='" & CurrentUser & "'") > 0 Then
  22. 'première connexion
  23. DoCmd.RunSQL "INSERT INTO ztblUtilisateurs ( Nom, Login, DroitValid, Admin, ModeDefaut, Notes ) " & _
  24. "SELECT '" & CurrentUser & "' AS Expr1, '" & CurrentUser & "' AS Expr2, False AS Expr3, False AS Expr4, " & _
  25. "'" & EtatModeConnexion & "' AS Expr6, '' AS Expr7;"
  26. Else
  27. If Len(modeConnexionParDefaut) = 0 Then
  28. DoCmd.RunSQL "UPDATE ztblUtilisateurs SET ztblUtilisateurs.ModeDefaut = '" & EtatModeConnexion & "' " & _
  29. "WHERE (((ztblUtilisateurs.Login)='" & CurrentUser & "'));"
  30. End If
  31. End If
  32. DoCmd.SetWarnings True
  33. '***
  34. '***verification du mode de connexion
  35. modeConnexion = EtatModeConnexion()
  36. connexionParDefaut = modeConnexionParDefaut()
  37. If modeConnexion <> connexionParDefaut Then
  38. If estAdmin = False Then
  39. MsgBox "Attention: les tables ne sont pas correctement attachées." & vbNewLine & _
  40. "Veuillez patienter pendant que les liens sont remis à jour"
  41. connexionOk = majConnectionsAppli(connexionParDefaut)
  42. modeConnexion = EtatModeConnexion()
  43. Else
  44. If MsgBox("[ADMIN] Attention: votre mode de connexion est " & modeConnexion & vbNewLine & _
  45. "Voulez vous revenir à la connexion par défaut? (" & connexionParDefaut & ")", vbYesNo) = vbYes Then
  46. Call majConnectionsAppli(connexionParDefaut)
  47. modeConnexion = EtatModeConnexion()
  48. End If
  49. End If
  50. Else
  51. connexionOk = True
  52. End If
  53. If connexionOk = False And estAdmin = False Then
  54. MsgBox "Erreur de conexion aux tables: veuillez contacter un administrateur"
  55. Application.Quit
  56. End If
  57. forms(menu).cmdMajConnexion.Visible = estAdmin
  58. forms(menu).txtModeConnexion.Caption = modeConnexion
  59. '***
  60. '*** controle de la version (si appli connectée au réseau (ou autre connexion par défaut)):
  61. If modeConnexion = connexionParDefaut Then
  62. VersionAJour = VerificationVersion()
  63. If VersionAJour = True Then
  64. msg = "Version à jour"
  65. Else
  66. msg = "(!) VOTRE VERSION DE L'APPLICATION N'EST PAS A JOUR (!)"
  67. Call Mail_Maj 'propose l'envoi d'un mail de mise à jour
  68. End If
  69. If VersionAJour = False And estAdmin() = False Then Application.Quit
  70. forms(menu).statVersion.Caption = msg
  71. End If
  72. forms(menu).lbVersion.Caption = "Version " & Nz(DLookup("[Valeur]", "[tbl_parametre]", "[Parametre]='VERSION_lb'"), "x") & _
  73. " du " & Nz(DLookup("[Valeur]", "[tbl_parametre]", "[Parametre]='VERSION'"), "?")
  74. '***
  75. '*** autres procédures
  76. If modeConnexion = connexionParDefaut Then
  77. '...
  78. End If
  79. '***
  80. End Sub