Option Compare Database 'Version 1 du module Public Sub ChargementMenu() 'à lancer à l'ouverture de l'application à l'ouverture du menu ' peut aussi être lancee par le biais d'une macro nommée "AutoExec", mais doit être modifiée 'lance les différentes vérifications avant lancement: attaches des tables, version, autre Dim menu As String Dim msg, modeConnexion, connexionParDefaut As String Dim VersionAJour, connexionOk As Boolean 'le formulaire menu doit posséder les objets suivants: 'etiquette: lbVersion 'etiquette: statVersion 'bouton: cmdMajConnexion 'etiquette: txtModeConnexion DoCmd.RunCommand acCmdAppRestore DoCmd.RunCommand acCmdAppMaximize menu = "frm_Menu" '*** utilisateur, droits 'on vérifie que l'utilisateur existe dans la base DoCmd.SetWarnings False If Not DCount("login", "ztblUtilisateurs", "[login]='" & CurrentUser & "'") > 0 Then 'première connexion DoCmd.RunSQL "INSERT INTO ztblUtilisateurs ( Nom, Login, DroitValid, Admin, ModeDefaut, Notes ) " & _ "SELECT '" & CurrentUser & "' AS Expr1, '" & CurrentUser & "' AS Expr2, False AS Expr3, False AS Expr4, " & _ "'" & EtatModeConnexion & "' AS Expr6, '' AS Expr7;" Else If Len(modeConnexionParDefaut) = 0 Then DoCmd.RunSQL "UPDATE ztblUtilisateurs SET ztblUtilisateurs.ModeDefaut = '" & EtatModeConnexion & "' " & _ "WHERE (((ztblUtilisateurs.Login)='" & CurrentUser & "'));" End If End If DoCmd.SetWarnings True '*** '***verification du mode de connexion modeConnexion = EtatModeConnexion() connexionParDefaut = modeConnexionParDefaut() If modeConnexion <> connexionParDefaut Then If estAdmin = False Then MsgBox "Attention: les tables ne sont pas correctement attachées." & vbNewLine & _ "Veuillez patienter pendant que les liens sont remis à jour" connexionOk = majConnectionsAppli(connexionParDefaut) modeConnexion = EtatModeConnexion() Else If MsgBox("[ADMIN] Attention: votre mode de connexion est " & modeConnexion & vbNewLine & _ "Voulez vous revenir à la connexion par défaut? (" & connexionParDefaut & ")", vbYesNo) = vbYes Then Call majConnectionsAppli(connexionParDefaut) modeConnexion = EtatModeConnexion() End If End If Else connexionOk = True End If If connexionOk = False And estAdmin = False Then MsgBox "Erreur de conexion aux tables: veuillez contacter un administrateur" Application.Quit End If forms(menu).cmdMajConnexion.Visible = estAdmin forms(menu).txtModeConnexion.Caption = modeConnexion '*** '*** controle de la version (si appli connectée au réseau (ou autre connexion par défaut)): If modeConnexion = connexionParDefaut Then VersionAJour = VerificationVersion() If VersionAJour = True Then msg = "Version à jour" Else msg = "(!) VOTRE VERSION DE L'APPLICATION N'EST PAS A JOUR (!)" Call Mail_Maj 'propose l'envoi d'un mail de mise à jour End If If VersionAJour = False And estAdmin() = False Then Application.Quit forms(menu).statVersion.Caption = msg End If forms(menu).lbVersion.Caption = "Version " & Nz(DLookup("[Valeur]", "[tbl_parametre]", "[Parametre]='VERSION_lb'"), "x") & _ " du " & Nz(DLookup("[Valeur]", "[tbl_parametre]", "[Parametre]='VERSION'"), "?") '*** '*** autres procédures If modeConnexion = connexionParDefaut Then '... End If '*** End Sub