OVH Cloud OVH Cloud

requete sql et sous formulaire

8 réponses
Avatar
michelenvi
Bonjour à tous,

J'ai un problème sous acces (tiens donc).

Dans un formulaire F_list, a l'aide de listes deroulantes je voudrais crer
une requète qui permettrait de remplir un sous fromulaire SF_list.
En d'autre mots, comment permettre à l'utilisateur de modifier sa sélection
de donnée obtenue dans le sous fourmulaire.

J'ai déja fait plein de recherche, je pense que j'ai tous les éléments, mais
la cuisson est pas terrible
voici une partie du code qui marche pas

strsql = "SELECT* " _
& "FROM R_project " _
& "WHERE R_project.Klant= '" & Forms.F_list.slct_klnt.Value & "' ;"
Cette partie fonctionne reativement bien car il ne s'agit que de la création
de la requete SQL

Forms("F_list")("SF_lstprj").RecordSource = strsql

Mais ici, je ne trouve pas la bonne syntaxe pour remplir mon sous formulaire

Merci de votre aide


--
semich

8 réponses

Avatar
Raymond [mvp]
Bonjour.

essaie:
Forms("F_list")("SF_lstprj").Form.RecordSource = strsql

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


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

J'ai un problème sous acces (tiens donc).

Dans un formulaire F_list, a l'aide de listes deroulantes je voudrais crer
une requète qui permettrait de remplir un sous fromulaire SF_list.
En d'autre mots, comment permettre à l'utilisateur de modifier sa
sélection
de donnée obtenue dans le sous fourmulaire.

J'ai déja fait plein de recherche, je pense que j'ai tous les éléments,
mais
la cuisson est pas terrible
voici une partie du code qui marche pas

strsql = "SELECT* " _
& "FROM R_project " _
& "WHERE R_project.Klant= '" & Forms.F_list.slct_klnt.Value & "' ;"
Cette partie fonctionne reativement bien car il ne s'agit que de la
création
de la requete SQL

Forms("F_list")("SF_lstprj").RecordSource = strsql

Mais ici, je ne trouve pas la bonne syntaxe pour remplir mon sous
formulaire

Merci de votre aide


--
semich


Avatar
michelenvi
Merci raymond,

La requete est maintenant bien passé à la propri"t" recordsource

Je constate cependant que il y a encore quelque chose qui vas pas, car le
sous formulaire n'est pas mis a jour j'ai pourtant le code

docmd.requery "SF_lstprj"

qui fonctionnait très bien avec des requetes directe ?

Une solution , merci

michel


Bonjour.

essaie:
Forms("F_list")("SF_lstprj").Form.RecordSource = strsql

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


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

J'ai un problème sous acces (tiens donc).

Dans un formulaire F_list, a l'aide de listes deroulantes je voudrais crer
une requète qui permettrait de remplir un sous fromulaire SF_list.
En d'autre mots, comment permettre à l'utilisateur de modifier sa
sélection
de donnée obtenue dans le sous fourmulaire.

J'ai déja fait plein de recherche, je pense que j'ai tous les éléments,
mais
la cuisson est pas terrible
voici une partie du code qui marche pas

strsql = "SELECT* " _
& "FROM R_project " _
& "WHERE R_project.Klant= '" & Forms.F_list.slct_klnt.Value & "' ;"
Cette partie fonctionne reativement bien car il ne s'agit que de la
création
de la requete SQL

Forms("F_list")("SF_lstprj").RecordSource = strsql

Mais ici, je ne trouve pas la bonne syntaxe pour remplir mon sous
formulaire

Merci de votre aide


--
semich







Avatar
Raymond [mvp]
évite les docmd pour les requery et utilises les contrôles
me!sous_formulaire.requery
ou
me!sous_formulaire.form.requery
ou tu passes par forms!.........
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"michelenvi" a écrit dans le message
de news:
Merci raymond,

La requete est maintenant bien passé à la propri"t" recordsource

Je constate cependant que il y a encore quelque chose qui vas pas, car le
sous formulaire n'est pas mis a jour j'ai pourtant le code

docmd.requery "SF_lstprj"

qui fonctionnait très bien avec des requetes directe ?

Une solution , merci

michel



Avatar
michelenvi
Merci Raymond,

Mais là cela ne marche toujours pas, je dois sans daoute faire des erreurs
mais ou,
j'ai essayé les code suivants :

Forms("F_list")("SF_lstprj").Form.Requery
Me("SF_lstprj").Form.Requery
le même sans "Form",
et d'autre modèles....

Mais si je n'obtient pas d'erreurs, le sous formulaire ne se met pas à jour.
Or, la requete SQL fonctionne car en la testant dans un query, il se met à
jour lorque la valeur du champs
[Forms]![F_list]![slct_klnt].[value]
est modifiée, la requete donne le bon resultat.

Je trouve pas.

merci encore

michel

évite les docmd pour les requery et utilises les contrôles
me!sous_fo
rmulaire.requery

ou
me!sous_formulaire.form.requery
ou tu passes par forms!.........
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"michelenvi" a écrit dans le message
de news:
Merci raymond,

La requete est maintenant bien passé à la propri"t" recordsource

Je constate cependant que il y a encore quelque chose qui vas pas, car le
sous formulaire n'est pas mis a jour j'ai pourtant le code

docmd.requery "SF_lstprj"

qui fonctionnait très bien avec des requetes directe ?

Une solution , merci

michel









Avatar
michelenvi
Merci,

mais si je n'arrive pas ç trouver la manière de rafraichir le soous
formulaire, la propriété du sous formulaire est bien mise à jour, mais les
données du sous formulaire elle ne le sont pas.
J'ai essayé les diverses syntaxe mais rien.

je dois rater un step quelque part, mais ou ??

merci

michel


évite les docmd pour les requery et utilises les contrôles
me!sous_formulaire.requery
ou
me!sous_formulaire.form.requery
ou tu passes par forms!.........
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"michelenvi" a écrit dans le message
de news:
Merci raymond,

La requete est maintenant bien passé à la propri"t" recordsource

Je constate cependant que il y a encore quelque chose qui vas pas, car le
sous formulaire n'est pas mis a jour j'ai pourtant le code

docmd.requery "SF_lstprj"

qui fonctionnait très bien avec des requetes directe ?

Une solution , merci

michel









Avatar
Raymond [mvp]
ton requery se fait après quelle opération ?
tu as chargé ta source.
je pense que tu fais des modifs .....
tu fais un requery .......
???

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


"michelenvi" a écrit dans le message
de news:
Merci Raymond,

Mais là cela ne marche toujours pas, je dois sans daoute faire des erreurs
mais ou,
j'ai essayé les code suivants :

Forms("F_list")("SF_lstprj").Form.Requery
Me("SF_lstprj").Form.Requery
le même sans "Form",
et d'autre modèles....

Mais si je n'obtient pas d'erreurs, le sous formulaire ne se met pas à
jour.
Or, la requete SQL fonctionne car en la testant dans un query, il se met à
jour lorque la valeur du champs
[Forms]![F_list]![slct_klnt].[value]
est modifiée, la requete donne le bon resultat.

Je trouve pas.

merci encore

michel


Avatar
Raymond [mvp]
Tu n'aurais pas un problème au niveau champs père-fils ?

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


"michelenvi" a écrit dans le message
de news:
Merci,

mais si je n'arrive pas ç trouver la manière de rafraichir le soous
formulaire, la propriété du sous formulaire est bien mise à jour, mais les
données du sous formulaire elle ne le sont pas.
J'ai essayé les diverses syntaxe mais rien.

je dois rater un step quelque part, mais ou ??

merci

michel



Avatar
michelenvi
Bonjour raymond et tous les autres si il y en a qui suivent,

J'ai trouvé.....

en fait, c'est la requéte qui je ne sait pas pourquoi, mais doit être de la
forme :
strsql = "SELECT DISTINCT [R_project].[Klant], * " _
& "FROM R_project " _
& "WHERE (((R_project.Klant)='" & [Forms]![F_list]![slct_klnt].[Value] &
"'));"

et ce pour que le résultat dans la propriété soit :
SELECT DISTINCT [R_project].[Klant], * FROM R_project WHERE
((([R_project].[Klant])="lenom"));

si on ne met pas DISTINCT et que le critère n'est pas une chaine, cela ne
marche pas. ( du moin chez moi acces 2000 et XP)

Merci pour le temps passer à m'aider.


Michel


Tu n'aurais pas un problème au niveau champs père-fils ?

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


"michelenvi" a écrit dans le message
de news:
Merci,

mais si je n'arrive pas ç trouver la manière de rafraichir le soous
formulaire, la propriété du sous formulaire est bien mise à jour, mais les
données du sous formulaire elle ne le sont pas.
J'ai essayé les diverses syntaxe mais rien.

je dois rater un step quelque part, mais ou ??

merci

michel