Est-ce qu'il est possible de bloquer la saisie ou la modification de
certains enregistrements d'une table, lorsque je saisis ou modifie un
enregistrement dans un formulaire (formulaire qui est basé sur une autre
table que celle que je souhaite bloquer) ?
Merci de votre aide et bon début de semaine
Fabrice
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
Fabrice
Bonjour Anor,
Merci de ta réponse. En fait, je me suis mal expliqué. Les utilisateurs saisissent et modifient les enregistrements dans un formulaire (liée bien sûr à une table). Mais j'aimerais que lorqu'il saisisse ou modifie un enregistrement dans ce formulaire, une autre table (accessible également via un formulaire) soit bloquée en écriture. Ces deux tables ne sont pas en relation directe, mais elles contiennent un champ en commun pour filtrer les enregistrements à bloquer.
Est-ce que c'est plus clair ?
Merci de ton aide Fabrice
"Anor" a écrit dans le message de news:%
Bonjour,
| Bonjour à tous, | | Est-ce qu'il est possible de bloquer la saisie ou la modification de | certains enregistrements d'une table, lorsque je saisis ou modifie un | enregistrement dans un formulaire (formulaire qui est basé sur une | autre table que celle que je souhaite bloquer) ? | | Merci de votre aide et bon début de semaine | Fabrice
Ce n'est pas clair : Tu veux dire que des gens saisissent directement dans une table ? pas bon ça ....ou tu veux éviter des modifs "pirates"...
Qu'appelles-tu "lorsque" ? pendant la saisie ou après ?
Certains enregistrements et pas d'autres, donc tu veux utiliser la valeur d'un champ
de l'enregistrement modifié pour autoriser ou non la modif, c'est ça, mais à comparer avec quoi
: le fait que le formulaire soit en cours de saisie (dirty) ou une valeur d'un controle
affiché dans le formulaire ?
-- à+ Arnaud ------------------------------------------- Conseils d'utilisation, sites recommandés : http://users.skynet.be/mpfa/ petit à petit, www.anor.fr.st fait son nid -------------------------------------------
Bonjour Anor,
Merci de ta réponse. En fait, je me suis mal expliqué. Les utilisateurs
saisissent et modifient les enregistrements dans un formulaire (liée bien
sûr à une table). Mais j'aimerais que lorqu'il saisisse ou modifie un
enregistrement dans ce formulaire, une autre table (accessible également via
un formulaire) soit bloquée en écriture. Ces deux tables ne sont pas en
relation directe, mais elles contiennent un champ en commun pour filtrer les
enregistrements à bloquer.
Est-ce que c'est plus clair ?
Merci de ton aide
Fabrice
"Anor" <nospam_news@anor.fr.st> a écrit dans le message de
news:%23vSPpIeSDHA.2084@TK2MSFTNGP11.phx.gbl...
Bonjour,
| Bonjour à tous,
|
| Est-ce qu'il est possible de bloquer la saisie ou la modification de
| certains enregistrements d'une table, lorsque je saisis ou modifie un
| enregistrement dans un formulaire (formulaire qui est basé sur une
| autre table que celle que je souhaite bloquer) ?
|
| Merci de votre aide et bon début de semaine
| Fabrice
Ce n'est pas clair :
Tu veux dire que des gens saisissent directement dans une table ?
pas bon ça ....ou tu veux éviter des modifs "pirates"...
Qu'appelles-tu "lorsque" ? pendant la saisie ou après ?
Certains enregistrements et pas d'autres, donc tu veux utiliser la valeur
d'un champ
de l'enregistrement modifié pour autoriser ou non la modif, c'est ça, mais
à comparer avec quoi
:
le fait que le formulaire soit en cours de saisie (dirty) ou une valeur
d'un controle
affiché dans le formulaire ?
--
à+
Arnaud
-------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
petit à petit, www.anor.fr.st fait son nid
-------------------------------------------
Merci de ta réponse. En fait, je me suis mal expliqué. Les utilisateurs saisissent et modifient les enregistrements dans un formulaire (liée bien sûr à une table). Mais j'aimerais que lorqu'il saisisse ou modifie un enregistrement dans ce formulaire, une autre table (accessible également via un formulaire) soit bloquée en écriture. Ces deux tables ne sont pas en relation directe, mais elles contiennent un champ en commun pour filtrer les enregistrements à bloquer.
Est-ce que c'est plus clair ?
Merci de ton aide Fabrice
"Anor" a écrit dans le message de news:%
Bonjour,
| Bonjour à tous, | | Est-ce qu'il est possible de bloquer la saisie ou la modification de | certains enregistrements d'une table, lorsque je saisis ou modifie un | enregistrement dans un formulaire (formulaire qui est basé sur une | autre table que celle que je souhaite bloquer) ? | | Merci de votre aide et bon début de semaine | Fabrice
Ce n'est pas clair : Tu veux dire que des gens saisissent directement dans une table ? pas bon ça ....ou tu veux éviter des modifs "pirates"...
Qu'appelles-tu "lorsque" ? pendant la saisie ou après ?
Certains enregistrements et pas d'autres, donc tu veux utiliser la valeur d'un champ
de l'enregistrement modifié pour autoriser ou non la modif, c'est ça, mais à comparer avec quoi
: le fait que le formulaire soit en cours de saisie (dirty) ou une valeur d'un controle
affiché dans le formulaire ?
-- à+ Arnaud ------------------------------------------- Conseils d'utilisation, sites recommandés : http://users.skynet.be/mpfa/ petit à petit, www.anor.fr.st fait son nid -------------------------------------------
Fabrice
Merci de ta réponse,
Je trouve très intéressante cette idée : "On peut toujours réussir à s'en sortir avec une table des champs à bloquer un code qui met dans cette table le nom du champ et sa valeur dès que sa propriété dirty survient et efface cette valeur ensuite." C'est une idée à creuser...
Sinon qu'est-ce que tu entends par "sur timer, mettre un feu rouge / feu vert bien visible" ?
Encore merci et bonne journée Fabrice
"Anor" a écrit dans le message de news:
Bonjour ,
| Bonjour Anor, | | Merci de ta réponse. En fait, je me suis mal expliqué. Les | utilisateurs saisissent et modifient les enregistrements dans un | formulaire (liée bien sûr à une table). Mais j'aimerais que lorqu'il | saisisse ou modifie un enregistrement dans ce formulaire, une autre | table (accessible également via un formulaire) soit bloquée en | écriture. Ces deux tables ne sont pas en relation directe, mais elles | contiennent un champ en commun pour filtrer les enregistrements à | bloquer. | | Est-ce que c'est plus clair ? | | Merci de ton aide | Fabrice |
Ma première idée était dans l'événement before update du formulaire à bloquer,
de mettre
If Forms!LeForm.Dirty = True Then msgbox "attendez que la saisie soit terminée dans l'autre form !!" Cancel = True End If
Mais : - ça ne fonctionnerait pas entre 2 bases frontales différentes ni en réseau d'ailleurs sur un
mdb commun
- ça bloque toute validation
on peut donc tester la valeur d'un contrôle dans form B pour dire à Form A la même chose,
mais même problème pour l'utilisation réseau.
Je ne vois pas de solution simple car je ne sais pas commun regarder un "enregistrement dirty"
dans une table pour en extraire la valeur d'un champ donné.
On peut toujours réussir à s'en sortir avec une table des champs à bloquer,
un code qui met dans cette table le nom du champ et sa valeur dès que sa propriété dirty
survient et efface cette valeur ensuite.
Le formulaire pourrait aller tester le contenu de cette table de blocages avant de valider la
saisie, ou sur timer, mettre un feu rouge / feu vert bien visible !!
J'espère que ça te donnera des idées sans te mettre sur la mauvaise voie...
-- à+ Arnaud ------------------------------------------- Conseils d'utilisation, sites recommandés : http://users.skynet.be/mpfa/ petit à petit, www.anor.fr.st fait son nid -------------------------------------------
Merci de ta réponse,
Je trouve très intéressante cette idée : "On peut toujours réussir à s'en
sortir avec une table des champs à bloquer un code qui met dans cette table
le nom du champ et sa valeur dès que sa propriété dirty survient et efface
cette valeur ensuite." C'est une idée à creuser...
Sinon qu'est-ce que tu entends par "sur timer, mettre un feu rouge / feu
vert bien visible" ?
Encore merci et bonne journée
Fabrice
"Anor" <nospam_news@anor.fr.st> a écrit dans le message de
news:eFuq0MgSDHA.940@TK2MSFTNGP11.phx.gbl...
Bonjour ,
| Bonjour Anor,
|
| Merci de ta réponse. En fait, je me suis mal expliqué. Les
| utilisateurs saisissent et modifient les enregistrements dans un
| formulaire (liée bien sûr à une table). Mais j'aimerais que lorqu'il
| saisisse ou modifie un enregistrement dans ce formulaire, une autre
| table (accessible également via un formulaire) soit bloquée en
| écriture. Ces deux tables ne sont pas en relation directe, mais elles
| contiennent un champ en commun pour filtrer les enregistrements à
| bloquer.
|
| Est-ce que c'est plus clair ?
|
| Merci de ton aide
| Fabrice
|
Ma première idée était dans l'événement before update du formulaire à
bloquer,
de mettre
If Forms!LeForm.Dirty = True Then
msgbox "attendez que la saisie soit terminée dans l'autre form !!"
Cancel = True
End If
Mais :
- ça ne fonctionnerait pas entre 2 bases frontales différentes ni en
réseau d'ailleurs sur un
mdb commun
- ça bloque toute validation
on peut donc tester la valeur d'un contrôle dans form B pour dire à Form A
la même chose,
mais même problème pour l'utilisation réseau.
Je ne vois pas de solution simple car je ne sais pas commun regarder un
"enregistrement dirty"
dans une table
pour en extraire la valeur d'un champ donné.
On peut toujours réussir à s'en sortir avec une table des champs à
bloquer,
un code qui met dans cette table le nom du champ et sa valeur dès que sa
propriété dirty
survient
et efface cette valeur ensuite.
Le formulaire pourrait aller tester le contenu de cette table de blocages
avant de valider la
saisie,
ou sur timer, mettre un feu rouge / feu vert bien visible !!
J'espère que ça te donnera des idées sans te mettre sur la mauvaise
voie...
--
à+
Arnaud
-------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
petit à petit, www.anor.fr.st fait son nid
-------------------------------------------
Je trouve très intéressante cette idée : "On peut toujours réussir à s'en sortir avec une table des champs à bloquer un code qui met dans cette table le nom du champ et sa valeur dès que sa propriété dirty survient et efface cette valeur ensuite." C'est une idée à creuser...
Sinon qu'est-ce que tu entends par "sur timer, mettre un feu rouge / feu vert bien visible" ?
Encore merci et bonne journée Fabrice
"Anor" a écrit dans le message de news:
Bonjour ,
| Bonjour Anor, | | Merci de ta réponse. En fait, je me suis mal expliqué. Les | utilisateurs saisissent et modifient les enregistrements dans un | formulaire (liée bien sûr à une table). Mais j'aimerais que lorqu'il | saisisse ou modifie un enregistrement dans ce formulaire, une autre | table (accessible également via un formulaire) soit bloquée en | écriture. Ces deux tables ne sont pas en relation directe, mais elles | contiennent un champ en commun pour filtrer les enregistrements à | bloquer. | | Est-ce que c'est plus clair ? | | Merci de ton aide | Fabrice |
Ma première idée était dans l'événement before update du formulaire à bloquer,
de mettre
If Forms!LeForm.Dirty = True Then msgbox "attendez que la saisie soit terminée dans l'autre form !!" Cancel = True End If
Mais : - ça ne fonctionnerait pas entre 2 bases frontales différentes ni en réseau d'ailleurs sur un
mdb commun
- ça bloque toute validation
on peut donc tester la valeur d'un contrôle dans form B pour dire à Form A la même chose,
mais même problème pour l'utilisation réseau.
Je ne vois pas de solution simple car je ne sais pas commun regarder un "enregistrement dirty"
dans une table pour en extraire la valeur d'un champ donné.
On peut toujours réussir à s'en sortir avec une table des champs à bloquer,
un code qui met dans cette table le nom du champ et sa valeur dès que sa propriété dirty
survient et efface cette valeur ensuite.
Le formulaire pourrait aller tester le contenu de cette table de blocages avant de valider la
saisie, ou sur timer, mettre un feu rouge / feu vert bien visible !!
J'espère que ça te donnera des idées sans te mettre sur la mauvaise voie...
-- à+ Arnaud ------------------------------------------- Conseils d'utilisation, sites recommandés : http://users.skynet.be/mpfa/ petit à petit, www.anor.fr.st fait son nid -------------------------------------------
Anor
re.
| Merci de ta réponse, | | Je trouve très intéressante cette idée : "On peut toujours réussir à | s'en sortir avec une table des champs à bloquer un code qui met dans | cette table le nom du champ et sa valeur dès que sa propriété dirty | survient et efface cette valeur ensuite." C'est une idée à creuser...
Disons qu'il faut penser à tout, y compris aux plantages. Cette table devrait être vidée lors du premier démarrage, mais dans le cas de bases fractionnées dorsale / frontales, ça se complique un peu...
| Sinon qu'est-ce que tu entends par "sur timer, mettre un feu rouge / | feu vert bien visible" ?
un délire : un contrôle qui change de couleur dans le formulaire de saisie en fonction du résultat d'une fonction de domaine ou d'un comptage du nombre de lignes renvoyées par une requête sur la fameuse table sur événement timer toutes les x secondes ...
ça serait intéressant de faire une comparaison : dcount ("*","tblverrouillage") ou select count * from latable
je teste ça et je reviens mais le select est sûrement plus rapide ;-)
| Encore merci et bonne journée | Fabrice
-- pareil Arnaud ------------------------------------------- Conseils d'utilisation, sites recommandés : http://users.skynet.be/mpfa/ petit à petit, www.anor.fr.st fait son nid -------------------------------------------
re.
| Merci de ta réponse,
|
| Je trouve très intéressante cette idée : "On peut toujours réussir à
| s'en sortir avec une table des champs à bloquer un code qui met dans
| cette table le nom du champ et sa valeur dès que sa propriété dirty
| survient et efface cette valeur ensuite." C'est une idée à creuser...
Disons qu'il faut penser à tout, y compris aux plantages.
Cette table devrait être vidée lors du premier démarrage,
mais dans le cas de bases fractionnées dorsale / frontales, ça se complique un peu...
| Sinon qu'est-ce que tu entends par "sur timer, mettre un feu rouge /
| feu vert bien visible" ?
un délire : un contrôle qui change de couleur dans le formulaire de saisie
en fonction du résultat d'une fonction de domaine ou
d'un comptage du nombre de lignes renvoyées par une requête sur la fameuse
table sur événement timer toutes les x secondes ...
ça serait intéressant de faire une comparaison :
dcount ("*","tblverrouillage")
ou
select count * from latable
je teste ça et je reviens mais le select est sûrement plus rapide ;-)
| Encore merci et bonne journée
| Fabrice
--
pareil
Arnaud
-------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
petit à petit, www.anor.fr.st fait son nid
-------------------------------------------
| Merci de ta réponse, | | Je trouve très intéressante cette idée : "On peut toujours réussir à | s'en sortir avec une table des champs à bloquer un code qui met dans | cette table le nom du champ et sa valeur dès que sa propriété dirty | survient et efface cette valeur ensuite." C'est une idée à creuser...
Disons qu'il faut penser à tout, y compris aux plantages. Cette table devrait être vidée lors du premier démarrage, mais dans le cas de bases fractionnées dorsale / frontales, ça se complique un peu...
| Sinon qu'est-ce que tu entends par "sur timer, mettre un feu rouge / | feu vert bien visible" ?
un délire : un contrôle qui change de couleur dans le formulaire de saisie en fonction du résultat d'une fonction de domaine ou d'un comptage du nombre de lignes renvoyées par une requête sur la fameuse table sur événement timer toutes les x secondes ...
ça serait intéressant de faire une comparaison : dcount ("*","tblverrouillage") ou select count * from latable
je teste ça et je reviens mais le select est sûrement plus rapide ;-)
| Encore merci et bonne journée | Fabrice
-- pareil Arnaud ------------------------------------------- Conseils d'utilisation, sites recommandés : http://users.skynet.be/mpfa/ petit à petit, www.anor.fr.st fait son nid -------------------------------------------
Anor
Bonjour,
| ça serait intéressant de faire une comparaison : | dcount ("*","tblverrouillage") | ou | select count * from latable | je teste ça et je reviens mais le select est sûrement plus rapide ;-)
je suis nul : je sais faire un comptage avec dcount, mais je ne sais pas faire la même chose en SQL pur ....
Alors évidemment, dcount dans la table est plus rapide que dlookup dans une requête SQL "SELECT Count(*) FROM LaTable;"
-- à+ Arnaud ------------------------------------------- Conseils d'utilisation, sites recommandés : http://users.skynet.be/mpfa/ petit à petit, www.anor.fr.st fait son nid -------------------------------------------
Bonjour,
| ça serait intéressant de faire une comparaison :
| dcount ("*","tblverrouillage")
| ou
| select count * from latable
| je teste ça et je reviens mais le select est sûrement plus rapide ;-)
je suis nul : je sais faire un comptage avec dcount, mais je ne sais pas
faire la même chose en SQL pur ....
Alors évidemment,
dcount dans la table
est plus rapide que
dlookup dans une requête SQL "SELECT Count(*) FROM LaTable;"
--
à+
Arnaud
-------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
petit à petit, www.anor.fr.st fait son nid
-------------------------------------------
| ça serait intéressant de faire une comparaison : | dcount ("*","tblverrouillage") | ou | select count * from latable | je teste ça et je reviens mais le select est sûrement plus rapide ;-)
je suis nul : je sais faire un comptage avec dcount, mais je ne sais pas faire la même chose en SQL pur ....
Alors évidemment, dcount dans la table est plus rapide que dlookup dans une requête SQL "SELECT Count(*) FROM LaTable;"
-- à+ Arnaud ------------------------------------------- Conseils d'utilisation, sites recommandés : http://users.skynet.be/mpfa/ petit à petit, www.anor.fr.st fait son nid -------------------------------------------
Fabrice
Merci de ton aide Arnaud,
Je vais tester ça avec le système d'une table contenant les critères des enregistrements à verrouiller.
Merci encore et bonne fin de journée Fabrice "Anor" a écrit dans le message de news:ed1k$
Bonjour,
| ça serait intéressant de faire une comparaison : | dcount ("*","tblverrouillage") | ou | select count * from latable | je teste ça et je reviens mais le select est sûrement plus rapide ;-)
je suis nul : je sais faire un comptage avec dcount, mais je ne sais pas faire la même chose en SQL pur ....
Alors évidemment, dcount dans la table est plus rapide que dlookup dans une requête SQL "SELECT Count(*) FROM LaTable;"
-- à+ Arnaud ------------------------------------------- Conseils d'utilisation, sites recommandés : http://users.skynet.be/mpfa/ petit à petit, www.anor.fr.st fait son nid -------------------------------------------
Merci de ton aide Arnaud,
Je vais tester ça avec le système d'une table contenant les critères des
enregistrements à verrouiller.
Merci encore et bonne fin de journée
Fabrice
"Anor" <nospam_news@anor.fr.st> a écrit dans le message de
news:ed1k$rhSDHA.1916@TK2MSFTNGP12.phx.gbl...
Bonjour,
| ça serait intéressant de faire une comparaison :
| dcount ("*","tblverrouillage")
| ou
| select count * from latable
| je teste ça et je reviens mais le select est sûrement plus rapide ;-)
je suis nul : je sais faire un comptage avec dcount, mais je ne sais pas
faire la même chose en SQL pur ....
Alors évidemment,
dcount dans la table
est plus rapide que
dlookup dans une requête SQL "SELECT Count(*) FROM LaTable;"
--
à+
Arnaud
-------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
petit à petit, www.anor.fr.st fait son nid
-------------------------------------------
Je vais tester ça avec le système d'une table contenant les critères des enregistrements à verrouiller.
Merci encore et bonne fin de journée Fabrice "Anor" a écrit dans le message de news:ed1k$
Bonjour,
| ça serait intéressant de faire une comparaison : | dcount ("*","tblverrouillage") | ou | select count * from latable | je teste ça et je reviens mais le select est sûrement plus rapide ;-)
je suis nul : je sais faire un comptage avec dcount, mais je ne sais pas faire la même chose en SQL pur ....
Alors évidemment, dcount dans la table est plus rapide que dlookup dans une requête SQL "SELECT Count(*) FROM LaTable;"
-- à+ Arnaud ------------------------------------------- Conseils d'utilisation, sites recommandés : http://users.skynet.be/mpfa/ petit à petit, www.anor.fr.st fait son nid -------------------------------------------