OVH Cloud OVH Cloud

Formulaires et Requetes ...

4 réponses
Avatar
Alain
Bonjour

J'aurais aimé connaitre toutes les différences: comportement mais aussi
d'avantages (ou inconvénients), contraintes, limites ...
dans les différentes possibilités d'affectation d'une requete source à un
formulaire:
- écriture directe de la requete dans la propriété source du formulaire
- écriture de la requete sous la forme Me.recordsource = "Ma requete"
dans l'évenement load ou Open ou Current de mon formulaire (avec
éventuellement une combinaison de des 3 possibilités)
- appel à une requete enregistré en ma nommant dans la propriété source
de mon formulaire.


J'ai déja une certaine pratique de l'utilisation de ces méthodes mais ce
sont les différences subtiles qui existent entre elle que je souhaite
identifier.

merci pour votre aide

Alain

4 réponses

Avatar
EPM
Bonjour
- écriture directe de la requete dans la propriété source du formulair
Elle est liée au formulaire et ne se retrouve pas dans les requetes => tu ne peux pas l'exploiter ailleurs sauf en la répétant..
- écriture de la requete sous la forme Me.recordsource = "Ma requete" dans l'évenement load ou Open ou Current de mon formulaire (avec éventuellement une combinaison de des 3 possibilités
Idem 1 et ici tu peux la parametrer avec differentes varables et la faire evoluer suivant ce que tu fais dans ton formulaire
- appel à une requete enregistré en ma nommant dans la propriété source de mon formulaire
Elle se retrouve dans les requetes et tu peux l'exploiter plusieurs fois (attention : si tu la modifies, elle sera modifiée partout ...)
Avatar
Alain
bonjour

Est ce que entre autre écrire une requete dans la propriété source du
formulaire est identique à ecrire Me.recordsouce = ....
dans l'évenement Open ou faut il également l'ecrire dans Current ??

merci

Alain


"EPM" a écrit dans le message de
news:
Bonjour,
- écriture directe de la requete dans la propriété source du formulaire
Elle est liée au formulaire et ne se retrouve pas dans les
requetes => tu ne peux pas l'exploiter ailleurs sauf en la répétant...

- écriture de la requete sous la forme Me.recordsource = "Ma requete" dans
l'évenement load ou Open ou Current de mon formulaire (avec éventuellement

une combinaison de des 3 possibilités)
Idem 1 et ici tu peux la parametrer avec differentes varables et
la faire evoluer suivant ce que tu fais dans ton formulaire.

- appel à une requete enregistré en ma nommant dans la propriété source de
mon formulaire.

Elle se retrouve dans les requetes et tu peux l'exploiter
plusieurs fois (attention : si tu la modifies, elle sera modifiée partout

...)

Avatar
3stone
Salut,

"Alain"
Est ce que entre autre écrire une requete dans la propriété source du
formulaire est identique à ecrire Me.recordsouce = ....
dans l'évenement Open ou faut il également l'ecrire dans Current ??



Dans le open ok, mais pas dans le current, sinon réexécution à chaque "next"


Dans un formulaire simple, je pense que les deux méthodes se valent,
La chaine sql comme recordsource ou l'attribution lors du open...
avec un désavantage lors du open, puisqu'il faut créer la chaine
pour la coller ensuite dans un événement. Alors que la chaine
sur le recordsource s'y crée avec le "requêteur", en tout cas
pour les requêtes simples...

Mais, la seconde devient très avantageuse lorsque tu à un contrôle
d'onglet avec plusieurs pages qui contiennent chacune un sous-formulaire.
L'attribution du recordsource lors du changement d'onglet vas largement
soulager le temps d'ouverture de ce formulaire, vu dans son ensemble.
Car, a défaut de cette manipulation, toutes les sources, du formulaire
principal et de TOUS les sous-formulaires sont chargés à l'ouverture
du formulaire, ce qui peut être ressenti comme lourd...

Un autre avantage de la chaine attribuée au recordsource, est le cas
de la base MDE... intouchable la requête ;-)

Par contre, la requête enregistrée semble être un choua plus rapide,
au lancement, car déjà compilée...



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

Avatar
Alain
Super -
merci Pierre pour ces explications

@+
Alain


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

"Alain"
Est ce que entre autre écrire une requete dans la propriété source du
formulaire est identique à ecrire Me.recordsouce = ....
dans l'évenement Open ou faut il également l'ecrire dans Current ??



Dans le open ok, mais pas dans le current, sinon réexécution à chaque
"next"



Dans un formulaire simple, je pense que les deux méthodes se valent,
La chaine sql comme recordsource ou l'attribution lors du open...
avec un désavantage lors du open, puisqu'il faut créer la chaine
pour la coller ensuite dans un événement. Alors que la chaine
sur le recordsource s'y crée avec le "requêteur", en tout cas
pour les requêtes simples...

Mais, la seconde devient très avantageuse lorsque tu à un contrôle
d'onglet avec plusieurs pages qui contiennent chacune un
sous-formulaire.

L'attribution du recordsource lors du changement d'onglet vas
largement

soulager le temps d'ouverture de ce formulaire, vu dans son ensemble.
Car, a défaut de cette manipulation, toutes les sources, du formulaire
principal et de TOUS les sous-formulaires sont chargés à l'ouverture
du formulaire, ce qui peut être ressenti comme lourd...

Un autre avantage de la chaine attribuée au recordsource, est le cas
de la base MDE... intouchable la requête ;-)

Par contre, la requête enregistrée semble être un choua plus rapide,
au lancement, car déjà compilée...



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