Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Champ à saisie obligatoire

2 réponses
Avatar
Pat59
Bonjour,

Lorsque l'on ferme un formulaire via la commande "DoCmd.Close", Access ferme
le formulaire sans enregistrer et sans aviser même si un champ à saisie
obligatoire a la valeur "Null". Si on ferme via le menu "Fichier-->Fermer" on
a droit à un message.

Mon formulaire contient 1 seul enregistrement

J'ai voulu vérifier AVANT "DoCmd.Close" s'il y avait des champs à saisie
obligatoire qui étaient null mais mon rst est à BOF et ma variable n'est
jamais mis à True

ChampObligatoireVide = False

Set rst = Forms!frmOffresServices.RecordsetClone

For Each fld In rst.Fields
If fld.Required = True Then
If IsNull(fld) Then
ChampObligatoireVide = True
Exit For
End If
End If
Next fld

Qu'est-ce que je fais de pas correct?

Merci

2 réponses

Avatar
3stone
Salut,

"Pat59"
| Lorsque l'on ferme un formulaire via la commande "DoCmd.Close", Access ferme
| le formulaire sans enregistrer et sans aviser même si un champ à saisie
| obligatoire a la valeur "Null". Si on ferme via le menu "Fichier-->Fermer" on
| a droit à un message.

[...]
|
| Qu'est-ce que je fais de pas correct?



Ta réflexion... ;-)

Bien sûr que Access sauve lorsque tu ferme le formulaire !!!
Bien sûr que Access sauve lorsque tu ferme l'application (donc Access) !!!

*pour autant que les données soient compatibles avec les contraintes*

Tout enregistrement débuté *doit* satisfaire les propriétés et autres
contraintes définies dans la table !


Si tu veux contrôler par toi-même certaines saisies, fais le dans l'événement
"Avant mise à jour" du formulaire...
Si une saisie ne te convient pas, tu annulle tout simplement la mise à jour !

NB: Bien utiliser les propriétés des champs et des formulaires, c'est
90% des problèmes qui sont résolus. Avant même d'avoir codé une ligne!

;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Pat59
Merci,

Je savais bien que j'avais un problème à ce niveau ;-)

Patrice


Salut,

"Pat59"
| Lorsque l'on ferme un formulaire via la commande "DoCmd.Close", Access ferme
| le formulaire sans enregistrer et sans aviser même si un champ à saisie
| obligatoire a la valeur "Null". Si on ferme via le menu "Fichier-->Fermer" on
| a droit à un message.

[...]
|
| Qu'est-ce que je fais de pas correct?



Ta réflexion... ;-)

Bien sûr que Access sauve lorsque tu ferme le formulaire !!!
Bien sûr que Access sauve lorsque tu ferme l'application (donc Access) !!!

*pour autant que les données soient compatibles avec les contraintes*

Tout enregistrement débuté *doit* satisfaire les propriétés et autres
contraintes définies dans la table !


Si tu veux contrôler par toi-même certaines saisies, fais le dans l'événement
"Avant mise à jour" du formulaire...
Si une saisie ne te convient pas, tu annulle tout simplement la mise à jour !

NB: Bien utiliser les propriétés des champs et des formulaires, c'est
90% des problèmes qui sont résolus. Avant même d'avoir codé une ligne!

;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/