Bonjour,
Désolé de répondre avec autant de retard, mais j'ai du laisser tomber pendant pas mal de temps, j'avais d'autres affaires sur le feu.
J'ai corrigé selon ta proposition, cela ne marche pas mieux hélas, les enregistrements ne se font pas dans les 2 tables "anciennes" et "nouvelles" valeurs et j'ai le message
MsgBox "Ces modifications ne seront pas enregistrées dans les tables T_Anciennes_valeurs et T_Nouvelles_valeurs", vbOKOnly
qui s'affiche.
J'ai essayé de vérifier par rapport à d'ancienne base (en *.mdb) où cela fonctionnait, je n'arrive pas à voir où cela coince. Je suis un peu paumé...et le mot est faible
A tout hasard, je te redonne ma procédure complète. Est-ce que j'aurais fait une fausse manip en voulant corriger ?
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 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
| Private Sub Sauvegarde_Click()
On Error GoTo Err_Sauvegarde_Click
On Error Resume Next
DoCmd.RunCommand acCmdSaveRecord
Me.DateMiseAJour = Date
Me.Refresh
If Me.NewRecord Then
MsgBox "S'il s'agit d'un nouvel adhérent, changer d'enregistrement par roulette souris ou le navigateur en bas à gauche" & Chr(13) & "et revenez sur la fiche du nouveau avant d'ouvrir le formulaire de ses cotisations", vbOKOnly
Exit Sub
End If
If IsNull(Me.DateRadiation) Then
'
'Sauvegarde anciennes valeurs
'
Dim T_Anciennes_valeurs As DAO.Recordset
Set T_Anciennes_valeurs = CurrentDb.OpenRecordset("T_Anciennes_valeurs", dbOpenDynaset)
T_Anciennes_valeurs.AddNew
T_Anciennes_valeurs("N°Adherent") = Me.N°Adherent.OldValue
T_Anciennes_valeurs("Titre") = Me.Titre.OldValue
T_Anciennes_valeurs("NomAdherent") = Me.NomAdherent.OldValue
T_Anciennes_valeurs("PrenomAdherent") = Me.Prénom.OldValue
T_Anciennes_valeurs("Adherent") = Me.Adherent.OldValue
T_Anciennes_valeurs("DateAdhesion") = Me.DateAdhesion.OldValue
T_Anciennes_valeurs("TypeAdherent") = Me.TypeAdherent.OldValue
T_Anciennes_valeurs("Fonction") = Me.Fonction.OldValue
T_Anciennes_valeurs("Specialite") = Me.Spécialité.OldValue
T_Anciennes_valeurs("Origine") = Me.NomOrigine.OldValue
T_Anciennes_valeurs("DateOrigine") = Me.DateOrigine.OldValue
T_Anciennes_valeurs("DateNaissance") = Me.DateNaissance.OldValue
T_Anciennes_valeurs("DateRadiation") = Me.DateRadiation.OldValue
T_Anciennes_valeurs("MotifRadiation") = Me.MotifRadiation.OldValue
T_Anciennes_valeurs("DateDeces") = Me.DateDeces.OldValue
T_Anciennes_valeurs("Adresse") = Me.Adresse.OldValue
T_Anciennes_valeurs("Ville") = Me.NomVille.OldValue
T_Anciennes_valeurs("CP") = Me.CP.OldValue
T_Anciennes_valeurs("Region") = Me.Region.OldValue
T_Anciennes_valeurs("Pays") = Me.Pays.OldValue
T_Anciennes_valeurs("Telephone") = Me.Téléphone.OldValue
T_Anciennes_valeurs("Mobile") = Me.Mobile.OldValue
T_Anciennes_valeurs("Fax") = Me.Fax.OldValue
T_Anciennes_valeurs("EMail") = Me.EMail.OldValue
T_Anciennes_valeurs("Profession") = Me.Profession.OldValue
T_Anciennes_valeurs("Retraite") = Me.Retraite.OldValue
'T_Anciennes_valeurs("DerniereMAJ") = Me.DateMiseAJour.OldValue
T_Anciennes_valeurs("Divers") = Me.Divers.OldValue
T_Anciennes_valeurs("MiseAJour") = Now
T_Anciennes_valeurs("Chemin") = Me.Chemin
T_Anciennes_valeurs("MasquerDonnees") = Me.Masquer_Données
T_Anciennes_valeurs.Update
'
'sauvegarde nouvelles valeurs
'
Dim T_Nouvelles_valeurs As DAO.Recordset
Set T_Nouvelles_valeurs = CurrentDb.OpenRecordset("T_Nouvelles_valeurs", dbOpenDynaset)
T_Nouvelles_valeurs.AddNew
T_Nouvelles_valeurs("N°Adherent") = Me.N°Adherent
T_Nouvelles_valeurs("Titre") = Me.Titre
T_Nouvelles_valeurs("NomAdherent") = Me.NomAdherent
T_Nouvelles_valeurs("PrenomAdherent") = Me.Prénom
T_Nouvelles_valeurs("Adherent") = Me.Adherent
T_Nouvelles_valeurs("DateAdhesion") = Me.DateAdhesion
T_Nouvelles_valeurs("TypeAdherent") = Me.TypeAdherent
T_Nouvelles_valeurs("Fonction") = Me.Fonction
T_Nouvelles_valeurs("Specialite") = Me.Spécialité
T_Nouvelles_valeurs("Origine") = Me.NomOrigine
T_Nouvelles_valeurs("DateOrigine") = Me.DateOrigine
T_Nouvelles_valeurs("DateNaissance") = Me.DateNaissance
T_Nouvelles_valeurs("DateRadiation") = Me.DateRadiation
T_Nouvelles_valeurs("MotifRadiation") = Me.MotifRadiation
T_Nouvelles_valeurs("DateDeces") = Me.DateDeces
T_Nouvelles_valeurs("Adresse") = Me.Adresse
T_Nouvelles_valeurs("Ville") = Me.NomVille
T_Nouvelles_valeurs("CP") = Me.CP
T_Nouvelles_valeurs("Region") = Me.Region
T_Nouvelles_valeurs("Pays") = Me.Pays
T_Nouvelles_valeurs("Telephone") = Me.Téléphone
T_Nouvelles_valeurs("Mobile") = Me.Mobile
T_Nouvelles_valeurs("Fax") = Me.Fax
T_Nouvelles_valeurs("EMail") = Me.EMail
T_Nouvelles_valeurs("Profession") = Me.Profession
T_Nouvelles_valeurs("Retraite") = Me.Retraite
T_Nouvelles_valeurs("MiseAjour") = Now
T_Nouvelles_valeurs("Divers") = Me.Divers
T_Nouvelles_valeurs("Chemin") = Me.Chemin
'T_Nouvelles_valeurs("DerniereMAJ") = Me.DateMiseAJour.OldValue
T_Nouvelles_valeurs("MasquerDonnees") = Me.Masquer_Données
T_Nouvelles_valeurs.Update
End If
'
' test suppression enregistrement si coordonnées n'ont pas changé
'
If Me.Adresse.OldValue = Me.Adresse And Me.Fax.OldValue = Me.Fax And Me.NomVille.OldValue = Me.NomVille And Me.Téléphone.OldValue = Me.Téléphone _
And Me.Mobile.OldValue = Me.Mobile And Me.EMail.OldValue = Me.EMail And Me.Masquer_Données.OldValue = Me.Masquer_Données _
And Me.CP.OldValue = Me.CP And Me.Region.OldValue = Me.Region And Me.Pays.OldValue = Me.Pays Then
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE * FROM T_Anciennes_valeurs WHERE MiseAJour=DMax('MiseAJour', 'T_Anciennes_valeurs')"
DoCmd.RunSQL "DELETE * FROM T_Nouvelles_valeurs WHERE MiseAJour=DMax('MiseAJour', 'T_Nouvelles_valeurs')"
MsgBox "Ces modifications ne seront pas enregistrées dans les tables T_Anciennes_valeurs et T_Nouvelles_valeurs", vbOKOnly
End If
T_Anciennes_valeurs.Close
T_Nouvelles_valeurs.Close
DoCmd.SetWarnings True
If Me.Dirty Then
Me.Dirty = False
End If
Dim Ctl As Control
For Each Ctl In Me.Détail.Controls
If (Ctl.ControlType = acTextBox) Or (Ctl.ControlType = acComboBox) Or (Ctl.ControlType = acCheckBox) Then
Ctl.Locked = True
End If
Next Ctl
Exit_Sauvegarde_Click:
Exit Sub
Err_Sauvegarde_Click:
MsgBox Err.Description
End Sub |
Merci de ton aide.
A+
C15
Partager