OVH Cloud OVH Cloud

Dirty

20 réponses
Avatar
Ayrton
Bonjour à tous ,

Je cherche à connaître la ligne de code qui me permettrait de passer mon
formulaire en dirty=true .

Un grand merci d'avance pour votre aide

--
@+
Ayrton
http://cerbermail.com/?FiLzjrFmWV
Click here to answer

10 réponses

1 2
Avatar
3stone
Salut,

"Ayrton"
Je cherche à connaître la ligne de code qui me permettrait de passer mon
formulaire en dirty=true .




Tu semble demander cela, sans savoir ce que réprésente réellement "Dirty"

Car, pour "passer" ton formulaire en "dirty = True"

tu tape simplement : Dirty = True

mais, et c'est le point important, dans le bon événement!
Autrement dit: il faut savoir POURQUOI ce formulaire doit être dirty !!!

La seule raison que je connaisse, est de "forcer" Access à créer un
numéro-auto et de le rendre accessible "avant" d'avoir eu à saisir quelque chose.

M'étonnerai que ce soit le but poursuivit ici...


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Avatar
Raymond [mvp]
Bonjour Ayrton.

Que veux-tu faire ?
Quand je t'ai dit que tu pouvais tester si la propriété Dirty était à True
ce n'était pas pour la mettre toi-même à true mais pour savoir si ton
formulaire a été modifié par l'utilisateur et éventuellement placer ta
procédure dans cet événement.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Ayrton" a écrit dans le message de
news:
Bonjour à tous ,

Je cherche à connaître la ligne de code qui me permettrait de passer mon
formulaire en dirty=true .

Un grand merci d'avance pour votre aide

--
@+
Ayrton
http://cerbermail.com/?FiLzjrFmWV
Click here to answer




Avatar
Ayrton
Bonjour 3stone ,

"3stone" a écrit dans le message de
news:%
Salut,

Tu semble demander cela, sans savoir ce que réprésente réellement
"Dirty"


A vrai dire, j'ai une procedure que je veux mettre en " BeforeUpdate " et
mon form ne prends pas cet evenement ! ! Raymond m'a dit hier à ce sujet que
c'est surement parce que ma proprieté Dirty n'est pas à True !

Car, pour "passer" ton formulaire en "dirty = True"

tu tape simplement : Dirty = True

mais, et c'est le point important, dans le bon événement!


Je tape juste comme cela sans rien d'autre ?

Autrement dit: il faut savoir POURQUOI ce formulaire doit être dirty
!!!
La seule raison est celle que je viens de t'indiquer plus haut


Excuse ma question mais je ne suis pas un "Pro " et même si j'arrive à pas
trop mal m'en sortir dans certains cas, pour celui-ci, je gelère un peu ! !
;-(
Merci

--
@+
Ayrton
http://cerbermail.com/?FiLzjrFmWV
Click here to answer

Avatar
Raymond [mvp]
Tu sors la phrase de son contexte.

je t'ai dit
Car, pour "passer" ton formulaire en "dirty = True"
tu tape simplement : Dirty = True
mais, et c'est le point important, dans le bon événement!
==================================== il faut lire tout le paragraphe, sinon ça n'a pas de sens.



il me semble que je t'avais indiqué de placer ta procédure sur la sortie du
premier contrôle qui reçoit le focus pour être sûr de passer dessus. l'as-tu
essayé ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Ayrton" a écrit dans le message de
news:
Bonjour 3stone ,

"3stone" a écrit dans le message de
news:%
Salut,

Tu semble demander cela, sans savoir ce que réprésente réellement
"Dirty"


A vrai dire, j'ai une procedure que je veux mettre en " BeforeUpdate " et
mon form ne prends pas cet evenement ! ! Raymond m'a dit hier à ce sujet
que

c'est surement parce que ma proprieté Dirty n'est pas à True !

Car, pour "passer" ton formulaire en "dirty = True"

tu tape simplement : Dirty = True

mais, et c'est le point important, dans le bon événement!


Je tape juste comme cela sans rien d'autre ?

Autrement dit: il faut savoir POURQUOI ce formulaire doit être dirty
!!!
La seule raison est celle que je viens de t'indiquer plus haut


Excuse ma question mais je ne suis pas un "Pro " et même si j'arrive à pas
trop mal m'en sortir dans certains cas, pour celui-ci, je gelère un peu !
!

;-(
Merci

--
@+
Ayrton
http://cerbermail.com/?FiLzjrFmWV
Click here to answer





Avatar
Ayrton
Bonjour Raymond ,

"Raymond [mvp]" a écrit dans le message de
news:uv%
Bonjour Ayrton.

Que veux-tu faire ?
Quand je t'ai dit que tu pouvais tester si la propriété Dirty était à
True ce n'était pas pour la mettre toi-même à true mais pour savoir
si ton formulaire a été modifié par l'utilisateur et éventuellement
placer ta procédure dans cet événement.


A vrai dire je ne sais pas comment on teste une proprieté ;-( C'est peut
être idiot mais je ne sais pas faire cela ; c'est comme quand tu m'a dit que
je pouvais tester la fonction HyperlinkPart, je n'ai rien odé dire mais je
ne connais pas la bonne syntaxe pour tester ; je crois juste qu'il faut
aller dans Nouveau Module, mais après je ne sais comment taper pour tester
dans ma fenêtre execution ! C'est bête de ma part mais je ne sais pas ;-(
Voilà tout !

--
@+
Ayrton
http://cerbermail.com/?FiLzjrFmWV
Click here to answer

"Ayrton" a écrit dans le message de
news:
Bonjour à tous ,

Je cherche à connaître la ligne de code qui me permettrait de passer
mon formulaire en dirty=true .

Un grand merci d'avance pour votre aide

--
@+
Ayrton
http://cerbermail.com/?FiLzjrFmWV
Click here to answer




Avatar
Xavier HUE
Salut Pierre,

Faire un Dirty = True pour provoquer l'attribution d'un
NumAuto? Ben si j'avais su ça plus tôt!
Je ne connaissais pas le truc! Intêressant!

Merci pour le tuyau. A l'occasion, je testerai le truc.

Cordialement.
Avatar
3stone
Salut,

"Ayrton"
Tu semble demander cela, sans savoir ce que réprésente réellement
"Dirty"


A vrai dire, j'ai une procedure que je veux mettre en " BeforeUpdate " et
mon form ne prends pas cet evenement ! ! Raymond m'a dit hier à ce sujet que
c'est surement parce que ma proprieté Dirty n'est pas à True !



Bon... une explication s'impose ;-)


Disons que tu ouvre un formulaire qui contient déjà des données.

Lorsque maintenant, tu passe aux enregistrements suivant,
il ne se passe rien de spécial, sauf que cela déclenche l'événement "Sur activation"

Lorsque tu modifie au minimum un champ dans ce formulaire, Access va essayer
de sauver les modifications et par la même occasion, déclencher l'événement
"Avant mise à jour" (form_beforeUpdate)

En plus de cela, le formulaire possède une variable "Dirty" que tu peux tester
à tout moment. Dès un changement, elle sera à True.

A partir de Access2000, un formulaire possède en plus un événement
"Sur modification" (form_Dirty) dans lequel il suffit de mettre le code
à exécuter dès ce moment là.

En général, on se contente de l'événement "Sur avant mise à jour"
puisqu'il n'a lieu QUE s'il y a eu modification.

S'il n'a pas lieu, c'est que les données du formulaire n'ont pas subit
de modifications. De là l'expression de Raymond qui dit: Dirty n'est pas True

Mais, ce n'est pas une raison suffisante pour la forcer à True ;-))


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------


Avatar
Ayrton
Re Raymond ,

"Raymond [mvp]" a écrit dans le message de
news:
Tu sors la phrase de son contexte.


Sincèrement je ne crois pas !

je t'ai dit
Car, pour "passer" ton formulaire en "dirty = True"
tu tape simplement : Dirty = True
mais, et c'est le point important, dans le bon événement!
==================================== > il faut lire tout le paragraphe, sinon ça n'a pas de sens.




Mais j'ai tout lu ! l'evènement concerné est le BeforeUpdate si j'ai bien
compris non ?
il me semble que je t'avais indiqué de placer ta procédure sur la
sortie du premier contrôle qui reçoit le focus pour être sûr de
passer dessus. l'as-tu essayé ?


Bien sûr que je l'ai fait et ça fonctionne à partir du moment où je me
mets en sortie de champs ( et ça, peu importe quel champs je choisi ) ; je
trouvais mieux de le mettre e nbeforeUpdate et là, ça ne marche plus ; je
passe au travers ! !
Tu m'avais même dit d'essayer sur : Form_Current et je l'ai fait ; et là ça
marche sauf que pour moi, le mettre là, ça ne ressemble à rien ! ; mais
toujours est il que ça marche ; il n'y a qu'en BeforeUpdate que ça ne va pas
et c'est justement là que je voulais le mettre ! Avoue que je n'ai pas de
chance sur ce coup là ! !

--
@+
Ayrton
http://cerbermail.com/?FiLzjrFmWV
Click here to answer
"Ayrton" a écrit dans le message de
news:
Bonjour 3stone ,

"3stone" a écrit dans le message de
news:%
Salut,

Tu semble demander cela, sans savoir ce que réprésente réellement
"Dirty"


A vrai dire, j'ai une procedure que je veux mettre en " BeforeUpdate
" et mon form ne prends pas cet evenement ! ! Raymond m'a dit hier à
ce sujet que c'est surement parce que ma proprieté Dirty n'est pas à
True !

Car, pour "passer" ton formulaire en "dirty = True"

tu tape simplement : Dirty = True

mais, et c'est le point important, dans le bon événement!


Je tape juste comme cela sans rien d'autre ?

Autrement dit: il faut savoir POURQUOI ce formulaire doit être dirty
!!!
La seule raison est celle que je viens de t'indiquer plus haut


Excuse ma question mais je ne suis pas un "Pro " et même si j'arrive
à pas trop mal m'en sortir dans certains cas, pour celui-ci, je
gelère un peu ! ! ;-(
Merci

--
@+
Ayrton
http://cerbermail.com/?FiLzjrFmWV
Click here to answer





Avatar
Ayrton
Re 3 stone ,

Bon... une explication s'impose ;-)


Je crois aussi ;-)

En plus de cela, le formulaire possède une variable "Dirty" que tu
peux tester
à tout moment. Dès un changement, elle sera à True.


Oui mais c'est là que le bas blesse ! ! ! Comment je teste ? en marquant
dirty=true dans l'evenement " sur modification " ?
Vu que que j'ai un gros doute sur comment faire, je prefère avoir l'air bête
en posant une question plutôt que de ne rien dire et par le fait, rien
apprendre ! !
A partir de Access2000, un formulaire possède en plus un événement

"Sur modification" (form_Dirty) dans lequel il suffit de mettre le
code
à exécuter dès ce moment là.
Et voilà , ce point plus celui du haut me perturbent ,-( quelque chose

m'échappe sur la bonne façon de faire et comment le faire !

En général, on se contente de l'événement "Sur avant mise à jour"
puisqu'il n'a lieu QUE s'il y a eu modification.

S'il n'a pas lieu, c'est que les données du formulaire n'ont pas subit
de modifications. De là l'expression de Raymond qui dit: Dirty n'est
pas True

Mais, ce n'est pas une raison suffisante pour la forcer à True ;-))


Je m'en doute et au vu de ce que tu vienbs de me dire, je ne le ferais pas
!! ,-)

--
@+
Ayrton
http://cerbermail.com/?FiLzjrFmWV
Click here to answer

Avatar
3stone
Salut Xavier,


"Xavier HUE"
Faire un Dirty = True pour provoquer l'attribution d'un
NumAuto? Ben si j'avais su ça plus tôt!
Je ne connaissais pas le truc! Intêressant!



Tout comme il est beaucoup plus "propre" de faire un :

Me.Dirty = False

pour sauver l'enregistrement courant.

Rien que pour le fait, que de cette facon, on est certain que le focus n'est
pas aller se balader ailleurs. Ce qui est tout à fait possible avec un:

DoCmd.RunCommand acCmdSaveRecord

puisque, comme tous les "Cmd" agissant "bêtement" sur le ctrl qui possédant le focus...


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
1 2