OVH Cloud OVH Cloud

Désactivation Nouvel enregistrement

8 réponses
Avatar
Alain TEYSSEDRE
Bonjour

Dans un formulaire en mode continu, ou on affiche le selecteur
d'enregistrement et des diviseurs d'enregistrement
comment empecher l'utilisateur de créer un nouvel enregistrement simplement
en cliquant sur la ligne qui à la "petite étoile"
et l'obliger à utiliser un bouton de commande pour ajouter un nouvel
enregistrement ?

merci

Alain

8 réponses

Avatar
Raymond
Bonjour.

il faut jouer sur la propriété ajout autorisé.
Me.AllowAdditions = True/False


--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Alain TEYSSEDRE" a écrit dans le message
de news:
Bonjour

Dans un formulaire en mode continu, ou on affiche le selecteur
d'enregistrement et des diviseurs d'enregistrement
comment empecher l'utilisateur de créer un nouvel enregistrement
simplement

en cliquant sur la ligne qui à la "petite étoile"
et l'obliger à utiliser un bouton de commande pour ajouter un nouvel
enregistrement ?

merci

Alain





Avatar
hm15
Bonjour Alain,

un début de piste : mettre à "Non" la propriété "Ajout autorisé" du
formulaire et sur le bouton de commande, activer/désactiver cette propriété
avec quelque chose comme :
Me.AllowAdditions = True
DoCmd.GoToRecord , , acNewRec

Cordialement,

Annette
---------------------------------------------------------------------------
www.horizon-micro.com


"Alain TEYSSEDRE" a écrit dans le message
de news:
Bonjour

Dans un formulaire en mode continu, ou on affiche le selecteur
d'enregistrement et des diviseurs d'enregistrement
comment empecher l'utilisateur de créer un nouvel enregistrement
simplement

en cliquant sur la ligne qui à la "petite étoile"
et l'obliger à utiliser un bouton de commande pour ajouter un nouvel
enregistrement ?

merci

Alain





Avatar
Alain TEYSSEDRE
Bonsoir

(Désolé pour l'espace temps entre ma question et cette réponse je viens de
me connecter)

En mettant le code suivant sur mon bouton de commande
Me.AllowAdditions = True
DoCmd.GoToRecord , , acNewRec
Me.AllowAdditions= False 'pour remettre le formulaire dans son état
inital

j'ai la ligne du nouvel enregistrement qui s'affiche et s'efface
instantanément

J'aimerai en fait pouvoir rester dans le mode édition et laisser
l'utilisateur décider quand il estime avoir
terminer l'entrée de ses données pour retourner dans le formulaire en mode
"Ajout autorisé NON"

on peut imaginer faire apparaitre (le reste du temps il serait caché) un
bouton de commande destiné à valider l'enregistrement

Qui sait faire ?

cdlt
Alain

"hm15" a écrit dans le message de
news:
Bonjour Alain,

un début de piste : mettre à "Non" la propriété "Ajout autorisé" du
formulaire et sur le bouton de commande, activer/désactiver cette
propriété

avec quelque chose comme :
Me.AllowAdditions = True
DoCmd.GoToRecord , , acNewRec

Cordialement,

Annette
--------------------------------------------------------------------------
-

www.horizon-micro.com


"Alain TEYSSEDRE" a écrit dans le message
de news:
Bonjour

Dans un formulaire en mode continu, ou on affiche le selecteur
d'enregistrement et des diviseurs d'enregistrement
comment empecher l'utilisateur de créer un nouvel enregistrement
simplement

en cliquant sur la ligne qui à la "petite étoile"
et l'obliger à utiliser un bouton de commande pour ajouter un nouvel
enregistrement ?

merci

Alain









Avatar
Raymond
Bonsoir.

Il ne faut pas mettre le false immédiatement:
Place la fonction Me.AllowAdditions= False dans l'événement AfterUpdate de
ton contrôle, ce qui fait que tu pourras saisir jusqu'à ce que tu enfonces
entrée ou que tu cliques ailleurs

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Alain TEYSSEDRE" a écrit dans le message
de news:
Bonsoir

(Désolé pour l'espace temps entre ma question et cette réponse je viens de
me connecter)

En mettant le code suivant sur mon bouton de commande
Me.AllowAdditions = True
DoCmd.GoToRecord , , acNewRec
Me.AllowAdditions= False 'pour remettre le formulaire dans son
état

inital

j'ai la ligne du nouvel enregistrement qui s'affiche et s'efface
instantanément

J'aimerai en fait pouvoir rester dans le mode édition et laisser
l'utilisateur décider quand il estime avoir
terminer l'entrée de ses données pour retourner dans le formulaire en mode
"Ajout autorisé NON"

on peut imaginer faire apparaitre (le reste du temps il serait caché) un
bouton de commande destiné à valider l'enregistrement

Qui sait faire ?

cdlt
Alain

"hm15" a écrit dans le message de
news:
Bonjour Alain,

un début de piste : mettre à "Non" la propriété "Ajout autorisé" du
formulaire et sur le bouton de commande, activer/désactiver cette
propriété

avec quelque chose comme :
Me.AllowAdditions = True
DoCmd.GoToRecord , , acNewRec

Cordialement,

Annette


--------------------------------------------------------------------------
-
www.horizon-micro.com


"Alain TEYSSEDRE" a écrit dans le messa
ge


de news:
Bonjour

Dans un formulaire en mode continu, ou on affiche le selecteur
d'enregistrement et des diviseurs d'enregistrement
comment empecher l'utilisateur de créer un nouvel enregistrement
simplement

en cliquant sur la ligne qui à la "petite étoile"
et l'obliger à utiliser un bouton de commande pour ajouter un nouvel
enregistrement ?

merci

Alain













Avatar
Alain TEYSSEDRE
Ok c'est logique

Par contre j'ai découvert un nouveau pb
lorsque je saisi un nouvel enregistrement pour valider l'enregistrement
je peux cliquer
soit sur une ligne d'enregistrement précedante,
soit la nouvelle ligne vierge qui s'est créee (celle avec l'etoile)
==> dans ce cas je reste positionné visuellement sur mon nouvel
enregistrement mais j'ai l'impression qu'il
n'est pas actualisé car si je change de formulaire pour
enregistrer d'autres données qui sont liées à
l'enregistrement sur lequel je suis positionné j'ai lun
message d'erreur lorsque je commence ma saisie
dans le 2eme formulaire:
" vous avez essayer d'affecter la valeur nulle à une
donnée qui n'est pas de type variant)
alors que si pour valider mon enregistrement je clic sur la ligne
d'enregistrement précédant puis je click sur
la ligne d'enregistrement que je viens de créer, lorsque je vais dans mon
formulaire 2 je peux saisir les enregistrements
sans erreur.

comment eviter ça

merci
Alain


"Raymond" a écrit dans le message de
news:
Bonsoir.

Il ne faut pas mettre le false immédiatement:
Place la fonction Me.AllowAdditions= False dans l'événement AfterUpdate de
ton contrôle, ce qui fait que tu pourras saisir jusqu'à ce que tu enfonces
entrée ou que tu cliques ailleurs

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Alain TEYSSEDRE" a écrit dans le message
de news:
Bonsoir

(Désolé pour l'espace temps entre ma question et cette réponse je viens
de


me connecter)

En mettant le code suivant sur mon bouton de commande
Me.AllowAdditions = True
DoCmd.GoToRecord , , acNewRec
Me.AllowAdditions= False 'pour remettre le formulaire dans son
état

inital

j'ai la ligne du nouvel enregistrement qui s'affiche et s'efface
instantanément

J'aimerai en fait pouvoir rester dans le mode édition et laisser
l'utilisateur décider quand il estime avoir
terminer l'entrée de ses données pour retourner dans le formulaire en
mode


"Ajout autorisé NON"

on peut imaginer faire apparaitre (le reste du temps il serait caché) un
bouton de commande destiné à valider l'enregistrement

Qui sait faire ?

cdlt
Alain

"hm15" a écrit dans le message de
news:
Bonjour Alain,

un début de piste : mettre à "Non" la propriété "Ajout autorisé" du
formulaire et sur le bouton de commande, activer/désactiver cette
propriété

avec quelque chose comme :
Me.AllowAdditions = True
DoCmd.GoToRecord , , acNewRec

Cordialement,

Annette




--------------------------------------------------------------------------
-
www.horizon-micro.com


"Alain TEYSSEDRE" a écrit dans le
messa



ge
de news:
Bonjour

Dans un formulaire en mode continu, ou on affiche le selecteur
d'enregistrement et des diviseurs d'enregistrement
comment empecher l'utilisateur de créer un nouvel enregistrement
simplement

en cliquant sur la ligne qui à la "petite étoile"
et l'obliger à utiliser un bouton de commande pour ajouter un nouvel
enregistrement ?

merci

Alain
















Avatar
Raymond
Le fait de changer d'enregistrement enregistre automatiquement
l'enregistrement quitté, et si tu te positionnes sur un nouvel
enregistrement c'est que tu n'avais pas d'erreur détectable.
Quand tu changes de formulaire sur un nouvel enregistrement, si une simple
modif a eu lieu (1 caractère par exempel) access veut l'enregistrer et tes
valeurs n'étant pas entrées ça provoque une erreur. Dans ce cas il faut
mettre un test dans BeforeUpdate pour connaître l'état de l'enregistrement
et éventuellement balancer un Me.undo pour tout annuler ou faire corriger la
saisie.

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Alain TEYSSEDRE" a écrit dans le message
de news:
Ok c'est logique

Par contre j'ai découvert un nouveau pb
lorsque je saisi un nouvel enregistrement pour valider
l'enregistrement

je peux cliquer
soit sur une ligne d'enregistrement précedante,
soit la nouvelle ligne vierge qui s'est créee (celle avec l'etoile)
==> dans ce cas je reste positionné visuellement sur mon nouvel
enregistrement mais j'ai l'impression qu'il
n'est pas actualisé car si je change de formulaire pour
enregistrer d'autres données qui sont liées à
l'enregistrement sur lequel je suis positionné j'ai lun
message d'erreur lorsque je commence ma saisie
dans le 2eme formulaire:
" vous avez essayer d'affecter la valeur nulle à une
donnée qui n'est pas de type variant)
alors que si pour valider mon enregistrement je clic sur la ligne
d'enregistrement précédant puis je click sur
la ligne d'enregistrement que je viens de créer, lorsque je vais dans mon
formulaire 2 je peux saisir les enregistrements
sans erreur.

comment eviter ça



Avatar
Alain TEYSSEDRE
J'ai essayé plusieurs trucs dans ton sens mais c'est tooujours pas ça

en fait mon 2 eme formulaire affiche des enregistrements liés à ceux du
premier

quel code de test dois je inclure ? (et dans quel formulaire ?)

merci
Alain (qui parle le vba comme une vache espagnole)

"Raymond" a écrit dans le message de
news:
Le fait de changer d'enregistrement enregistre automatiquement
l'enregistrement quitté, et si tu te positionnes sur un nouvel
enregistrement c'est que tu n'avais pas d'erreur détectable.
Quand tu changes de formulaire sur un nouvel enregistrement, si une simple
modif a eu lieu (1 caractère par exempel) access veut l'enregistrer et tes
valeurs n'étant pas entrées ça provoque une erreur. Dans ce cas il faut
mettre un test dans BeforeUpdate pour connaître l'état de l'enregistrement
et éventuellement balancer un Me.undo pour tout annuler ou faire corriger
la

saisie.

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Alain TEYSSEDRE" a écrit dans le message
de news:
Ok c'est logique

Par contre j'ai découvert un nouveau pb
lorsque je saisi un nouvel enregistrement pour valider
l'enregistrement

je peux cliquer
soit sur une ligne d'enregistrement précedante,
soit la nouvelle ligne vierge qui s'est créee (celle avec l'etoile)
==> dans ce cas je reste positionné visuellement sur mon nouvel
enregistrement mais j'ai l'impression qu'il
n'est pas actualisé car si je change de formulaire pour
enregistrer d'autres données qui sont liées à
l'enregistrement sur lequel je suis positionné j'ai lun
message d'erreur lorsque je commence ma saisie
dans le 2eme formulaire:
" vous avez essayer d'affecter la valeur nulle à une
donnée qui n'est pas de type variant)
alors que si pour valider mon enregistrement je clic sur la ligne
d'enregistrement précédant puis je click sur
la ligne d'enregistrement que je viens de créer, lorsque je vais dans
mon


formulaire 2 je peux saisir les enregistrements
sans erreur.

comment eviter ça






Avatar
Raymond
Tu as un contrôle qui a une valeur nulle et qui n'est pas un variant, donc
dans du code vba. Utilises un NZ(madonnée) pour récupérer une valeur valide.
en debogant tu sauras quelle ligne est erronée.

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Alain TEYSSEDRE" a écrit dans le message
de news:%23G$d4$
J'ai essayé plusieurs trucs dans ton sens mais c'est tooujours pas ça

en fait mon 2 eme formulaire affiche des enregistrements liés à ceux du
premier

quel code de test dois je inclure ? (et dans quel formulaire ?)

merci
Alain (qui parle le vba comme une vache espagnole)