Bonjour,
j'ai un big souci : J'ai un formulaire qui est lié à une table, des champs
avec des sources controle. J'ai un bouton de maj et un autre pour femer le
formulaire sans enregistrer .. mais là !!! big souci Acces m'enregistre quand
même mes modifications même avec l'option à non dans la macro de fermeture de
formulaire.
merci pour votre aide
Michelle
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
3stone
Salut,
"Michelle15" | j'ai un big souci : J'ai un formulaire qui est lié à une table, des champs | avec des sources controle. J'ai un bouton de maj et un autre pour femer le | formulaire sans enregistrer .. mais là !!! big souci Acces m'enregistre quand | même mes modifications même avec l'option à non dans la macro de fermeture de | formulaire.
Tu veux dire que tu renseigne l'argument "acSaveNo" dans la commande DoCmd.Close ?
Si c'est cela, c'est normal... puisque c'est argument concerne le formulaire que tu ferme et non les données qu'il contient.
Pour ne pas sauver les données d'un formulaire, pour autant qu'il n'y a pas eu d'événement qui force la sauvegarde (comme passer à un autre enregistrement) il faut utiliser la méthode "Cancel" à la lise à jour.
"Michelle15"
| j'ai un big souci : J'ai un formulaire qui est lié à une table, des champs
| avec des sources controle. J'ai un bouton de maj et un autre pour femer le
| formulaire sans enregistrer .. mais là !!! big souci Acces m'enregistre quand
| même mes modifications même avec l'option à non dans la macro de fermeture de
| formulaire.
Tu veux dire que tu renseigne l'argument "acSaveNo" dans la commande
DoCmd.Close ?
Si c'est cela, c'est normal... puisque c'est argument concerne le formulaire
que tu ferme et non les données qu'il contient.
Pour ne pas sauver les données d'un formulaire, pour autant qu'il n'y
a pas eu d'événement qui force la sauvegarde (comme passer à un autre
enregistrement) il faut utiliser la méthode "Cancel" à la lise à jour.
"Michelle15" | j'ai un big souci : J'ai un formulaire qui est lié à une table, des champs | avec des sources controle. J'ai un bouton de maj et un autre pour femer le | formulaire sans enregistrer .. mais là !!! big souci Acces m'enregistre quand | même mes modifications même avec l'option à non dans la macro de fermeture de | formulaire.
Tu veux dire que tu renseigne l'argument "acSaveNo" dans la commande DoCmd.Close ?
Si c'est cela, c'est normal... puisque c'est argument concerne le formulaire que tu ferme et non les données qu'il contient.
Pour ne pas sauver les données d'un formulaire, pour autant qu'il n'y a pas eu d'événement qui force la sauvegarde (comme passer à un autre enregistrement) il faut utiliser la méthode "Cancel" à la lise à jour.
Merci pour ta réponse. J'ai donc mis dans la procedure avant mise à jour l'ordre Cancel = true J'ai le message 'Impossible d'enregistrer cet enregistrement ' un Complement : Je ferme mon formulaire via une macro avec avertissement à non, fermer formulaire, avertissement à oui Je patauge un peu en ce we pluvieux Merci pour ton aide et soutien -- Michelle
"3stone" a écrit :
Salut,
"Michelle15" | j'ai un big souci : J'ai un formulaire qui est lié à une table, des champs | avec des sources controle. J'ai un bouton de maj et un autre pour femer le | formulaire sans enregistrer .. mais là !!! big souci Acces m'enregistre quand | même mes modifications même avec l'option à non dans la macro de fermeture de | formulaire.
Tu veux dire que tu renseigne l'argument "acSaveNo" dans la commande DoCmd.Close ?
Si c'est cela, c'est normal... puisque c'est argument concerne le formulaire que tu ferme et non les données qu'il contient.
Pour ne pas sauver les données d'un formulaire, pour autant qu'il n'y a pas eu d'événement qui force la sauvegarde (comme passer à un autre enregistrement) il faut utiliser la méthode "Cancel" à la lise à jour.
Merci pour ta réponse.
J'ai donc mis dans la procedure avant mise à jour l'ordre Cancel = true
J'ai le message 'Impossible d'enregistrer cet enregistrement '
un Complement : Je ferme mon formulaire via une macro avec avertissement à
non, fermer formulaire, avertissement à oui
Je patauge un peu en ce we pluvieux
Merci pour ton aide et soutien
--
Michelle
"3stone" a écrit :
Salut,
"Michelle15"
| j'ai un big souci : J'ai un formulaire qui est lié à une table, des champs
| avec des sources controle. J'ai un bouton de maj et un autre pour femer le
| formulaire sans enregistrer .. mais là !!! big souci Acces m'enregistre quand
| même mes modifications même avec l'option à non dans la macro de fermeture de
| formulaire.
Tu veux dire que tu renseigne l'argument "acSaveNo" dans la commande
DoCmd.Close ?
Si c'est cela, c'est normal... puisque c'est argument concerne le formulaire
que tu ferme et non les données qu'il contient.
Pour ne pas sauver les données d'un formulaire, pour autant qu'il n'y
a pas eu d'événement qui force la sauvegarde (comme passer à un autre
enregistrement) il faut utiliser la méthode "Cancel" à la lise à jour.
Merci pour ta réponse. J'ai donc mis dans la procedure avant mise à jour l'ordre Cancel = true J'ai le message 'Impossible d'enregistrer cet enregistrement ' un Complement : Je ferme mon formulaire via une macro avec avertissement à non, fermer formulaire, avertissement à oui Je patauge un peu en ce we pluvieux Merci pour ton aide et soutien -- Michelle
"3stone" a écrit :
Salut,
"Michelle15" | j'ai un big souci : J'ai un formulaire qui est lié à une table, des champs | avec des sources controle. J'ai un bouton de maj et un autre pour femer le | formulaire sans enregistrer .. mais là !!! big souci Acces m'enregistre quand | même mes modifications même avec l'option à non dans la macro de fermeture de | formulaire.
Tu veux dire que tu renseigne l'argument "acSaveNo" dans la commande DoCmd.Close ?
Si c'est cela, c'est normal... puisque c'est argument concerne le formulaire que tu ferme et non les données qu'il contient.
Pour ne pas sauver les données d'un formulaire, pour autant qu'il n'y a pas eu d'événement qui force la sauvegarde (comme passer à un autre enregistrement) il faut utiliser la méthode "Cancel" à la lise à jour.
"Alain15" | J'ai donc mis dans la procedure avant mise à jour l'ordre Cancel = true | J'ai le message 'Impossible d'enregistrer cet enregistrement ' | un Complement : Je ferme mon formulaire via une macro avec avertissement à | non, fermer formulaire, avertissement à oui
Oui, tu annulle la mise à jour, mais il faut encore annuler les modifications faite. Pour cela, on ajoute un Me.Undo
Après cela, tu ne sauras plus rien enregistrer.
Pour avoir quelque chose de plus souple, et éviter les modifications non remarquées, il faut un peut plus de code (toujours sur avant mise à jour):
Dim sMsg As String, iButton As Integer sMsg = "Voulez-vous sauvegarder les modifications ?" iButton = vbQuestion + vbDefaultButton2 + vbYesNo If MsgBox(sMsg, iButton, "Sauver") = vbNo Then Cancel = True Me.Undo End If
Un réglage important pour éviter les modifications intempestives, est de modifier via le menu Outils, Options, onglet Clavier le "Comportement du champ en entrée" que l'on positionne avantageusement sur "Fin du champ"
"Alain15"
| J'ai donc mis dans la procedure avant mise à jour l'ordre Cancel = true
| J'ai le message 'Impossible d'enregistrer cet enregistrement '
| un Complement : Je ferme mon formulaire via une macro avec avertissement à
| non, fermer formulaire, avertissement à oui
Oui, tu annulle la mise à jour, mais il faut encore annuler les modifications faite.
Pour cela, on ajoute un Me.Undo
Après cela, tu ne sauras plus rien enregistrer.
Pour avoir quelque chose de plus souple, et éviter les modifications non
remarquées, il faut un peut plus de code (toujours sur avant mise à jour):
Dim sMsg As String, iButton As Integer
sMsg = "Voulez-vous sauvegarder les modifications ?"
iButton = vbQuestion + vbDefaultButton2 + vbYesNo
If MsgBox(sMsg, iButton, "Sauver") = vbNo Then
Cancel = True
Me.Undo
End If
Un réglage important pour éviter les modifications intempestives, est de
modifier via le menu Outils, Options, onglet Clavier
le "Comportement du champ en entrée" que l'on positionne avantageusement
sur "Fin du champ"
"Alain15" | J'ai donc mis dans la procedure avant mise à jour l'ordre Cancel = true | J'ai le message 'Impossible d'enregistrer cet enregistrement ' | un Complement : Je ferme mon formulaire via une macro avec avertissement à | non, fermer formulaire, avertissement à oui
Oui, tu annulle la mise à jour, mais il faut encore annuler les modifications faite. Pour cela, on ajoute un Me.Undo
Après cela, tu ne sauras plus rien enregistrer.
Pour avoir quelque chose de plus souple, et éviter les modifications non remarquées, il faut un peut plus de code (toujours sur avant mise à jour):
Dim sMsg As String, iButton As Integer sMsg = "Voulez-vous sauvegarder les modifications ?" iButton = vbQuestion + vbDefaultButton2 + vbYesNo If MsgBox(sMsg, iButton, "Sauver") = vbNo Then Cancel = True Me.Undo End If
Un réglage important pour éviter les modifications intempestives, est de modifier via le menu Outils, Options, onglet Clavier le "Comportement du champ en entrée" que l'on positionne avantageusement sur "Fin du champ"
Ok merci super ca fonctionne nickel Merci pour tout et encore bravo pour ton site -- Alain
"3stone" a écrit :
Salut,
"Alain15" | J'ai donc mis dans la procedure avant mise à jour l'ordre Cancel = true | J'ai le message 'Impossible d'enregistrer cet enregistrement ' | un Complement : Je ferme mon formulaire via une macro avec avertissement à | non, fermer formulaire, avertissement à oui
Oui, tu annulle la mise à jour, mais il faut encore annuler les modifications faite. Pour cela, on ajoute un Me.Undo
Après cela, tu ne sauras plus rien enregistrer.
Pour avoir quelque chose de plus souple, et éviter les modifications non remarquées, il faut un peut plus de code (toujours sur avant mise à jour):
Dim sMsg As String, iButton As Integer sMsg = "Voulez-vous sauvegarder les modifications ?" iButton = vbQuestion + vbDefaultButton2 + vbYesNo If MsgBox(sMsg, iButton, "Sauver") = vbNo Then Cancel = True Me.Undo End If
Un réglage important pour éviter les modifications intempestives, est de modifier via le menu Outils, Options, onglet Clavier le "Comportement du champ en entrée" que l'on positionne avantageusement sur "Fin du champ"
Ok merci super ca fonctionne nickel
Merci pour tout et encore bravo pour ton site
--
Alain
"3stone" a écrit :
Salut,
"Alain15"
| J'ai donc mis dans la procedure avant mise à jour l'ordre Cancel = true
| J'ai le message 'Impossible d'enregistrer cet enregistrement '
| un Complement : Je ferme mon formulaire via une macro avec avertissement à
| non, fermer formulaire, avertissement à oui
Oui, tu annulle la mise à jour, mais il faut encore annuler les modifications faite.
Pour cela, on ajoute un Me.Undo
Après cela, tu ne sauras plus rien enregistrer.
Pour avoir quelque chose de plus souple, et éviter les modifications non
remarquées, il faut un peut plus de code (toujours sur avant mise à jour):
Dim sMsg As String, iButton As Integer
sMsg = "Voulez-vous sauvegarder les modifications ?"
iButton = vbQuestion + vbDefaultButton2 + vbYesNo
If MsgBox(sMsg, iButton, "Sauver") = vbNo Then
Cancel = True
Me.Undo
End If
Un réglage important pour éviter les modifications intempestives, est de
modifier via le menu Outils, Options, onglet Clavier
le "Comportement du champ en entrée" que l'on positionne avantageusement
sur "Fin du champ"
Ok merci super ca fonctionne nickel Merci pour tout et encore bravo pour ton site -- Alain
"3stone" a écrit :
Salut,
"Alain15" | J'ai donc mis dans la procedure avant mise à jour l'ordre Cancel = true | J'ai le message 'Impossible d'enregistrer cet enregistrement ' | un Complement : Je ferme mon formulaire via une macro avec avertissement à | non, fermer formulaire, avertissement à oui
Oui, tu annulle la mise à jour, mais il faut encore annuler les modifications faite. Pour cela, on ajoute un Me.Undo
Après cela, tu ne sauras plus rien enregistrer.
Pour avoir quelque chose de plus souple, et éviter les modifications non remarquées, il faut un peut plus de code (toujours sur avant mise à jour):
Dim sMsg As String, iButton As Integer sMsg = "Voulez-vous sauvegarder les modifications ?" iButton = vbQuestion + vbDefaultButton2 + vbYesNo If MsgBox(sMsg, iButton, "Sauver") = vbNo Then Cancel = True Me.Undo End If
Un réglage important pour éviter les modifications intempestives, est de modifier via le menu Outils, Options, onglet Clavier le "Comportement du champ en entrée" que l'on positionne avantageusement sur "Fin du champ"