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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
|
'==================================================================================
' Valider_Click() : Déclenchée sur OnClick.
'==================================================================================
' * Vérifie les données saisies
' * Modifie Utilisateur en cours : HISTORISATION !
' - UTILS : UPDATE dans tous les cas
' Si Changé (T_UTILS, GRPS):
' - APP_TUTILS_UTILS : UPDATE (données obsolètes) + INSERT (nouvelle appartenance)
' - APP_GRPS_UTILS : UPDATE + INSERT
'==================================================================================
Dim strCmd As String
Dim rst As New ADODB.Recordset
Dim rst1 As New ADODB.Recordset
If ((txtCode.Value <> "") And (txtNom.Value <> "") And (txtPrenom.Value <> "") And (lstType.ListIndex <> -1)) Then
' On Update la table UTILS, mais pas seulement : Historisation
strCmd = "UPDATE UTILS SET " & _
"LOG_UTILS = '" & UCase(txtNom.Value) & "', " & _
"PASS_UTILS = '" & txtPass1.Value & "', " & _
"NOM_UTILS = '" & UCase(txtNom.Value) & "', " & _
"PRM_UTILS = '" & txtPrenom.Value & "' " & _
"WHERE ID_UTILS = " & CInt(Form_Gerer_Utilisateurs.lblID.Caption) ' -> Astuce !
'MsgBox strCmd
If (Update(strCmd)) Then
'txtCode.Enabled = True
'txtCode.SetFocus
txtMessage.Caption = "MODIFICATION EFFECTUEE !"
txtMessage.ForeColor = 0
Form_Gerer_Utilisateurs.Refresh
'=====================================================================================================================
' anciennes informations -> UPDATE
'=====================================================================================================================
' On cherche à savoir si le Type d'util a changé
lstType.SetFocus
strCmd = "SELECT * FROM TUTILS, APP_TUTILS_UTILS, UTILS " & _
"WHERE UTILS.ID_UTILS = APP_TUTILS_UTILS.ID_UTILS AND APP_TUTILS_UTILS.ID_TUTILS = TUTILS.ID_TUTILS " & _
"AND UTILS.ID_UTILS = " & CInt(Form_Gerer_Utilisateurs.lblID.Caption) & _
" AND APP_TUTILS_UTILS.DATE_FIN > #" & CDate(Format(Now(), "DD/MM/YYYY")) & "#"
If (ExecSQL(strCmd, rst)) Then
If (rst.Fields("LBL_TUTILS").Value <> lstType.Text) Then
' On Update les anciennes informations (DATE_FIN), celles qui étaient valides jusqu'alors
strCmd = "UPDATE APP_TUTILS_UTILS SET DATE_FIN = #" & CDate(Format(Now(), "DD/MM/YYYY")) & "# " & _
"WHERE ID_UTILS = " & CInt(rst.Fields("UTILS.ID_UTILS").Value) & _
" AND ID_TUTILS = " & CInt(rst.Fields("TUTILS.ID_TUTILS").Value) & _
" AND DATE_FIN > #" & CDate(Format(Now(), "DD/MM/YYYY")) & "#"
'MsgBox strCmd
If (Update(strCmd)) Then
'txtCode.Enabled = True
'txtCode.SetFocus
txtMessage.Caption = "MODIFICATION EFFECTUEE !"
txtMessage.ForeColor = 0
Form_Gerer_Utilisateurs.Refresh
End If
End If
' On cherche à savoir si le Groupe a changé
If (lstGRPS.Visible = True) Then
lstGRPS.SetFocus
strCmd = "SELECT * FROM UTILS, APP_GRPS_UTILS, GRPS " & _
"WHERE GRPS.ID_GRPS = APP_GRPS_UTILS.ID_GRPS AND APP_GRPS_UTILS.ID_UTILS = UTILS.ID_UTILS " & _
"AND UTILS.ID_UTILS = " & CInt(Form_Gerer_Utilisateurs.lblID.Caption) & _
" AND APP_GRPS_UTILS.DATE_FIN > #" & CDate(Format(Now(), "DD/MM/YYYY")) & "#"
If (ExecSQL(strCmd, rst)) Then
If (rst.Fields("LBL_GRPS").Value <> lstGRPS.Text) Then
' On Update les anciennes informations
strCmd = "UPDATE APP_GRPS_UTILS SET DATE_FIN = #" & CDate(Format(Now(), "DD/MM/YYYY")) & "# " & _
"WHERE ID_UTILS = " & CInt(rst.Fields("UTILS.ID_UTILS").Value) & _
" AND ID_GRPS = " & CInt(rst.Fields("GRPS.ID_GRPS").Value) & _
" AND DATE_FIN > #" & CDate(Format(Now(), "DD/MM/YYYY")) & "#"
'MsgBox strCmd
If (Update(strCmd)) Then
'txtCode.Enabled = True
'txtCode.SetFocus
txtMessage.Caption = "MODIFICATION EFFECTUEE !"
txtMessage.ForeColor = 0
Form_Gerer_Utilisateurs.Refresh
End If
End If
'=====================================================================================================================
' nouvelles informations -> INSERT
'=====================================================================================================================
lstType.SetFocus
strCmd = "SELECT * FROM TUTILS WHERE LBL_TUTILS = '" & lstType.Text & "'"
If (ExecSQL(strCmd, rst)) Then
strCmd = "INSERT INTO APP_TUTILS_UTILS (ID_TUTILS, ID_UTILS, DATE_DEBUT) VALUES(" & _
rst.Fields("ID_TUTILS").Value & ", " & _
CInt(Form_Gerer_Utilisateurs.lblID.Caption) & ", " & _
"#" & CDate(Format(Now(), "DD/MM/YYYY")) & "#)"
'MsgBox strCmd
If (Update(strCmd)) Then
'txtCode.Enabled = True
'txtCode.SetFocus
txtMessage.Caption = "MODIFICATION EFFECTUEE !"
txtMessage.ForeColor = 0
Form_Gerer_Utilisateurs.Refresh
lstGRPS.SetFocus
strCmd = "SELECT ID_GRPS FROM GRPS WHERE CODE_GRPS = '" & lstGRPS.Text & "'"
If (ExecSQL(strCmd, rst)) Then
strCmd = "INSERT INTO APP_GRPS_UTILS (ID_GRPS, ID_UTILS, DATE_DEBUT) VALUES(" & _
rst.Fields("ID_GRPS").Value & ", " & _
CInt(Form_Gerer_Utilisateurs.lblID.Caption) & ", " & _
"#" & CDate(Format(Now(), "DD/MM/YYYY")) & "#)"
'MsgBox strCmd
If (Update(strCmd)) Then
'txtCode.Enabled = True
'txtCode.SetFocus
txtMessage.Caption = "MODIFICATION EFFECTUEE !"
txtMessage.ForeColor = 0
Form_Gerer_Utilisateurs.Refresh
End If
End If
End If
End If
End If
End If
End If
End If
Else
txtMessage.Caption = "SAISISSEZ TOUS LES CHAMPS !"
txtMessage.ForeColor = 255
End If |
Partager