Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/10/2011, 15h58   #1
Candidat au titre de Membre du Club
 
Homme alain
Inscription : juillet 2011
Messages : 32
Détails du profil
Informations personnelles :
Nom : Homme alain
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2011
Messages : 32
Points : 10
Points : 10
Par défaut afficher une requête dans formulaire

Bonjour je viens de suivre a la lettre le tuto "Création et paramétrage dynamique de requêtes" (vraiment super clair).
J'ai donc créer ma requette(avec pasage de parametre via une liste déroulante) avec un déclenchement sur le click du bouton.
La requette s'affiche dans une nouvelle fenetre.
en fait je voudrai que cette requette s'affiche dans le formulaire ou j'ai mon bouton. Cela à l'air bète mais je ne trouve pas de solution
alain136 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/10/2011, 20h28   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 089
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 089
Points : 11 622
Points : 11 622
Bonjour,

Il faut que tu affecte la requete à la propriété Rowsource du formulaire.

Code :
me.rowsource = "select. ..."
Cordialement,

EDIT : Autant pour moi il sagit de RecordSource et non RowSource
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/10/2011, 20h59   #3
Candidat au titre de Membre du Club
 
Homme alain
Inscription : juillet 2011
Messages : 32
Détails du profil
Informations personnelles :
Nom : Homme alain
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2011
Messages : 32
Points : 10
Points : 10
Bonsoir Loufab,
merci pour ta réponse, mais mon formulaire est indépendant et je n'ai pas (enfin je crois) de propriété rowsource(contenu).

pour info mon formulaire ne contient qu'une liste déroulante qui me permet de sélectionner un critère et le bouton valider qui créer et lance ma requette.
alain136 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/10/2011, 23h14   #4
Membre du Club
 
Homme Cédric MERSCH
Ordonnanceur
Inscription : novembre 2009
Messages : 48
Détails du profil
Informations personnelles :
Nom : Homme Cédric MERSCH
Localisation : France

Informations professionnelles :
Activité : Ordonnanceur
Secteur : Industrie

Informations forums :
Inscription : novembre 2009
Messages : 48
Points : 46
Points : 46
Bonsoir Alain,

Sache que tout formulaire, indépendant ou non à systématiquement une propriété source. Voici le code que j'utilise:

Code :
1
2
3
4
5
6
7
Dim str_source As String
'Dans le cas d'une simple table
str_source = "T_Table"
'Dans le cas d'une instruction SQL
str_source = "SELECT * FROM T_Table WHERE condition"
'...
Me.RecordSource = str_source
Amicalement.
mc.schmer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/10/2011, 23h16   #5
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 089
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 089
Points : 11 622
Points : 11 622
Peut importe si c'est ton formulaire ou un autre objet qui affiche la requete ; un sous-formulaire ou une zone liste, la méthode est la même.

Regarde le tuto sur les appels formulaires sur ma page perso :

http://loufab.developpez.com/tutorie...pelformulaire/

et son tableau recap

http://loufab.developpez.com/tutorie...pelformulaire/

Le tableau recap n'est bon que si on a bien assimilé le tuto.

A moins que tu ne souhaites ouvrir directement une requete, méthode un peu décalée dans une ihm digne de ce nom.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2011, 22h32   #6
Candidat au titre de Membre du Club
 
Homme alain
Inscription : juillet 2011
Messages : 32
Détails du profil
Informations personnelles :
Nom : Homme alain
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2011
Messages : 32
Points : 10
Points : 10
Bonsoir Loufab,
merci pour ta réponse, je n'y arrivais pas car je n'avais aucun champs de ma table sur le formulaire

Mais je n'ai pas encore solutionné mon pb. J'ai ma requette, je sais la construire et la lancer. Je souhaiterai l'afficher sur mon formulaire dans une grille style feuille de donnée(donc dans le haut de mon formulaire j'ai des listes et boutons indépendants et en dessous ma grille). est-ce qu'il existe un objet type grille?
J'ai essayé avec un sous formulaire, c'est pas mal, mais j'ai la barre de navigation (du sous formulaire)qui apparait est-ce que j'ai un moyen de la cacher?
alain136 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/10/2011, 11h06   #7
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 089
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 089
Points : 11 622
Points : 11 622
Bonjour,

Il te faut utiliser un sous-formulaire en mode feuille de données. C'est ce que tu appeles "Grille".

Pour cacher les différents éléments il y a les propriétés :
Boutons de déplacement
Afficher le sélecteur

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/10/2011, 19h16   #8
Candidat au titre de Membre du Club
 
Homme alain
Inscription : juillet 2011
Messages : 32
Détails du profil
Informations personnelles :
Nom : Homme alain
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2011
Messages : 32
Points : 10
Points : 10
Bonsoir Loufab,
merci beaucoup pour ta réponse. La solution avec un sous formulaire, c'est celle que j'avais trouvé, mais je n'ai pas trouvé dans la boite de dialogue propriété(pour le sous formulaire) : Boutons de déplacement et Afficher le sélecteur, est-ce que je ne peux y avoir acces que par le code?

est-ce qu'il est possible de ne pas faire apparaitre la derniere ligne celle avec l'étoile pour ajouter un nouvel enregistrement?

merci encore pour ton aide.
alain136 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2011, 08h54   #9
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 089
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 089
Points : 11 622
Points : 11 622
Bonjour,

Tu ne trouve pas les propriétés parceque tu ne sélectionnes pas le bon controle.

Si tu cliques sur le sous-form, ta sélection sera le controle qui contient les sous-formulaire. Dans les propriétés tu pourras identifier Champs père et Champs fils.

Si tu cliques encore un fois mais sur le carré en haut à gauche du sous-formulaire, c'est le sous-formulaire qui sera sélectionné. Dans ce cas tu auras accès aux propriétés formulaire.

Une autre méthode consiste à ouvrir le sous form en mode création directement, comme un formulaire classique.

En ce qui concerne les propriétés par VBA regarde le tuto sur les appels formulaires/états dans ma page perso.
http://loufab.developpez.com/tutorie...pelformulaire/
La solution est dedans.

Pour ne pas faire apparaitre la ligne de fin, c'est possible mais tu ne pourras plus faire d'ajout. Il suffit de jouer avec la propriété Ajout Autorisée.

Avant de toucher à des propriétés regarde bien à l'aide de F1 (quand le curseur est dans la propriété) quelle est son action.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 19h31   #10
Candidat au titre de Membre du Club
 
Homme alain
Inscription : juillet 2011
Messages : 32
Détails du profil
Informations personnelles :
Nom : Homme alain
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2011
Messages : 32
Points : 10
Points : 10
Bonsoir,
Merci Loufab pour tes réponses sur la mise en forme du sous formulaire cependant je m'arrache encore le peu de cheveux qu'il me reste , je me demande si j'ai bien pris mon pb du bon coté.
Donc je ré-explique:
Dans un formulaire j'ai placé une liste déroulante que j'alimente à partir d'une table.( c'est ok)

Je souhaite qu'en sélectionnant un nom dans la liste cela fasse apparaitre dans un sous formulaire une requette avec le nom sélectionner comme paramètre. Est-ce que c'est la bonne méthode?

Pour cela j'ai placé dans la méthode "after update" de ma liste le code pour générer ma requette que j'ai créer avec le tuto "Création et paramétrage dynamique de requêtes"
mon pb reste à mettre à jour mon sous formulaire avec la nouvelle requette.
En suivant les infos de loufab je pensais changer le recordsource de mon sous formulaire. Dans la méthode after update je n'ai pas acces à la méthode recordsource. j'ai une erreur "erreur de compilation :
membre de méthode ou de données introuvable"
voila je ne sais plus par quelle bout le prendre...
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
On Error GoTo err
 
Dim Db As DAO.Database
Dim QryModele As DAO.QueryDef
Dim strSQLModele As String
Set Db = CurrentDb
Set QryModele = Db.QueryDefs("R_inscriptionStage_model")
 
strSQLModele = QryModele.SQL
 
'remplacment du critere par le choix de la liste déroulante
strSQLModele = Replace(strSQLModele, "[indiquer le nom du stage]", Chr(34) & Nz(Modifiable1) & Chr(34))
 
'Si la requête existe déjà alors
If TesteExistenceRequete("R_inscriptionStage") Then
  'alors modifier le code de la requête
  Db.QueryDefs("R_inscriptionStage").SQL = strSQLModele
'Sinon
Else
  'Créer la nouvelle requête
  Db.CreateQueryDef "R_inscriptionStage", strSQLModele
End If
 
'Ouvre la requête
 
'affecte la requette au sous formulaire
sfrm_R_stage.BorderColor = 4227327 'juste un test pour voir si j'interragie avec le bon sous formulaire
sfrm_R_stage.RecordSource = strSQLModele
alain136 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2011, 18h15   #11
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 089
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 089
Points : 11 622
Points : 11 622
Bonjour,

Si tu modifies ta source uniquement pour une condition le mieux est d'utiliser les propriétés Champ père et Champ fils du container du sous-formulaire.

Dans Champ père tu mets le nom de la liste déroulante et dans champ fils le nom du champ dans sous-formulaire.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2011, 14h40   #12
Candidat au titre de Membre du Club
 
Homme alain
Inscription : juillet 2011
Messages : 32
Détails du profil
Informations personnelles :
Nom : Homme alain
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2011
Messages : 32
Points : 10
Points : 10
bonjour Loufab,

j'ai lu et relu le tuto d'appel qui est sur ta page perso.
J'ai relu tous les messages et en fait je n'avais pas vu l'édit du 6/10 sur le recordsource

je pense que mon appel est correct, mais enfait je me rend compte, que le pb ne vient pas du code, mais de ou je le mets.
dans ton message du 6/10, tu me propose ce code qui fonctionne parfaitement(bien sur!)
Code :
1
2
3
4
5
6
7
Dim str_source As String
'Dans le cas d'une simple table
str_source = "T_Table"
'Dans le cas d'une instruction SQL
str_source = "SELECT * FROM T_Table WHERE condition"
'...
Me.RecordSource = str_source
mais en fait tu le place où?
alain136 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2011, 20h16   #13
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 089
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 089
Points : 11 622
Points : 11 622
Bonjour,
Ce n'est pas mon code mais celui de Cédric.

Tu dois le mettre sur l'événement sur Clic de ton bouton.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 19h53   #14
Candidat au titre de Membre du Club
 
Homme alain
Inscription : juillet 2011
Messages : 32
Détails du profil
Informations personnelles :
Nom : Homme alain
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2011
Messages : 32
Points : 10
Points : 10
merci loufab pour ta réponse et désolé pour la confusion et la patrenité du code......

bon heureusement qu'il reste des souries avec fil, je vais pouvoir me pendre avec!

Je dois me rendre à l'évidence je n'ai rien compris.
dans mon code(placé sur le clic d'un bouiton placé dans le formulaire) je fais cet appel mais cela ne fionctionne pas.
Code :
1
2
3
4
5
6
7
8
strSQLmodele = "SELECT Stage.NomStage, Ident.Nom, Ident.Prenom"
strSQLmodele = strSQLmodele & " FROM Stage INNER JOIN (Ident INNER JOIN Inscription_stage ON Ident.NumClient = Inscription_stage.NumClient) ON Stage.indexStage = Inscription_stage.IndexStage WHERE (((Stage.NomStage) = [indiquer le nom du stage]))"
strSQLmodele = strSQLmodele & "ORDER BY Stage.NomStage;"
 
'remplacment du critere par le choix de la liste déroulante
strSQLmodele = Replace(strSQLmodele, "[indiquer le nom du stage]", Chr(34) & Nz(Modifiable1) & Chr(34))
'jusque là c'est bon la requete est ok 
me.monsousformulaire.recordsource =strsqlmodele ' cela ne fonctionne pas
j'ai une "erreur de compilation membre de méthode ou de donnée introuvable"
Je suis nul j'y comprend plus rien
merci à ceux qui on la patience de me soutenir....
alain136 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2011, 11h31   #15
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 089
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 089
Points : 11 622
Points : 11 622
Bonjour,

Et c'est normal !

Code :
Me.nom_sous_form.Form.Recordsource = ....
Tu as toutes les syntaxes ici :

http://loufab.developpez.com/tutorie...pelformulaire/

Lien que je t'ai déjà conseillé de lire, parceque c'est la base.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 19h27   #16
Candidat au titre de Membre du Club
 
Homme alain
Inscription : juillet 2011
Messages : 32
Détails du profil
Informations personnelles :
Nom : Homme alain
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2011
Messages : 32
Points : 10
Points : 10
Bonsoir Loufab,
Tout d'abord merci; Ta réponse a ensoleillé mon week end pluvieux

Je t'assure que j'ai lu 2 fois le tuto...mais j'ai zappé la section sur les sous formulaire.
je vais le relire une 3 fois.......

Pour moi c'est résolu, tout fonctionne.
alain136 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h02.


 
 
 
 
Partenaires

Hébergement Web